aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/css-tests/css-transforms-1_dev/html
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/css-tests/css-transforms-1_dev/html')
-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
1419 files changed, 81679 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