+
9.1 2D Transform Functions 
cssscalenested001 
= 

scale 0 on a parent with a child
 Child square element is transformed (scaled to zero) along with the parent element

cssskew001 
= 

skew function part 1

cssskew002 
= 

skew function part 2

csstransforminheritrotate 


CSS transforms rotate inheritance on div element
 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.

csstransforminheritscale 
= 

CSS transforms scale 2 inheritance on div elements
 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.

rotate180degrees001 


transform  rotate 180 deg

rotate270degrees001 


transform  rotate 270 deg

rotate90degrees001 


transform  rotate 90 deg

scaleoptionalsecond001 
= 

transform property with scale function and one parameter
 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.

scalezero001 
= 

transform property with scale function and zero values
 If zero value is passed to scale function, it causes the element to disappear.

skewtest1 
= 
SVG 
Testing 1  skew()
 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

svggradienttransform001 
= 
SVG 
SVG gradientTransform presentation attribute and translateX with translationvalue argument without unit
 The gradientTransform attribute must support functions with unit less arguments for translationvalue. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.

svggradienttransformcombination001 
= 
SVG 
SVG gradientTransform presentation attribute with translateX applied twice
 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.

svggradienttransformcombination003 
= 
SVG 
SVG gradientTransform presentation attribute and translationvalue argument with translateX applied in both directions
 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.

svgmatrix001 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
 The rect in the test should be scaled up horizontally.

svgmatrix002 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
 The rect in the test should be scaled down horizontally.

svgmatrix003 
= 
SVG 
SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
 The rect in the test should be scaled up vertically.

svgmatrix004 
= 
SVG 
SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
 The rect in the test should be scaled down vertically.

svgmatrix005 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling up horizontally: 2 0 0 1 100 0
 The rect in the test should be flipped left and scaled up horizontally.

svgmatrix006 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling down horizontally: 0.5 0 0 1 100 0
 The rect in the test should be flipped left and scaled up horizontally.

svgmatrix007 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 2 0 100
 The rect in the test should be flipped up and scaled up vertically.

svgmatrix008 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 0.5 0 100
 The rect in the test should be flipped up and scaled down vertically.

svgmatrix009 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: 0.2e1 0 0 0.2e1 0 0
 The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.

svgmatrix010 
= 
SVG 
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
 The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.

svgmatrix011 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e1 0 0 5e1 0 0
 The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.

svgmatrix012 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: 5e1 0 0 5e1 100 100
 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.

svgmatrix013 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
 The rect in the test should be scaled up horizontally and down vertically.

svgmatrix014 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
 The rect in the test should be scaled down horizontally and up vertically.

svgmatrix015 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: 2 0 0 0.5 100 100
 The rect in the test should be flipped up and left and scaled up horizontally and down vertically.

svgmatrix016 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: 0.5 0 0 2 100 100
 The rect in the test should be flipped up and left and scaled down horizontally and up vertically.

svgmatrix017 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 2 0 100
 The rect in the test should be flipped up scaled up horizontally and vertically.

svgmatrix018 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 0.5 0 100
 The rect in the test should be flipped up scaled down horizontally and vertically.

svgmatrix019 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: 0.5 0 0 0.5 100 0
 The rect in the test should be flipped left and scaled down horizontally and vertically.

svgmatrix020 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 0.5 0 100
 The rect in the test should be flipped up and scaled up horizontally and down vertically.

svgmatrix021 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: 2 0 0 0.5 100 0
 The rect in the test should be flipped left and scaled up horizontally and down vertically.

svgmatrix022 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 2 0 100
 The rect in the test should be flipped up and scaled down horizontally and up vertically.

svgmatrix023 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: 0.5 0 0 2 100 0
 The rect in the test should be flipped left and scaled down horizontally and up vertically.

svgmatrix024 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: 2 0 0 2 100 0
 The rect in the test should be flipped left and scaled up horizontally and vertically.

svgmatrix025 
= 
SVG 
SVG presentation attribute and matrix and flipping left: 1 0 0 1 100 0
 The rect in the test should be flipped left.

svgmatrix026 
= 
SVG 
SVG presentation attribute and matrix and flipping up: 1 0 0 0 1 0 100
 The rect in the test should be flipped up.

svgmatrix027 
= 
SVG 
SVG presentation attribute and matrix and flipping left and up: 1 0 0 0 1 100 100
 The rect in the test should be flipped left and up.

svgmatrix028 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 1 0 100
 The rect in the test should be flipped up and scaled up horizontally.

svgmatrix029 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: 2 0 0 1 10e1 10e1
 The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.

svgmatrix030 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 1 0 100
 The rect in the test should be flipped up and scaled down horizontally.

svgmatrix031 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: 0.5 0 0 1 100 100
 The rect in the test should be flipped up and left and scaled down horizontally.

svgmatrix032 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up vertically: 1 0 0 2 100 0
 The rect in the test should be flipped left scaled up vertically.

svgmatrix033 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: 1 0 0 2 1000e1 1000e1
 The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.

svgmatrix034 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling down vertically: 1 0 0 0.5 100 0
 The rect in the test should be flipped left scaled down vertically.

svgmatrix035 
= 
SVG 
SVG presentation attribute and matrix and flipping left and up and scaling down vertically: 1 0 0 0.5 100 100
 The rect in the test should be flipped left and up scaled down vertically.

svgmatrix036 
= 
SVG 
SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
 The rect in the test should skewed right horizontally.

svgmatrix037 
= 
SVG 
SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
 The rect in the test should skewed down horizontally.

svgmatrix038 
= 
SVG 
SVG presentation attribute and matrix and skewing left: 1 0 1 100 50
 The rect in the test should be skewed left horinzontally.

svgmatrix039 
= 
SVG 
SVG presentation attribute and matrix and skewing up: 1 1 0 1 50 100
 The rect in the test should be skewed up vertically.

svgmatrix040 
= 
SVG 
SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 0.05e1 0.05e1 1 100 50
 The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.

svgmatrix041 
= 
SVG 
SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
 The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.

svgmatrix042 
= 
SVG 
SVG presentation attribute and matrix and skewing down and left: 1 0.5 0.5 1 50 50
 The rect in the test should be skewed down vertically and left horizontally.

svgmatrix043 
= 
SVG 
SVG presentation attribute and matrix and skewing up and right: 1 0.5 0.5 1 100 0
 The rect in the test should be skewed up vertically and right horizontally.

svgmatrix044 
= 
SVG 
SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
 The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.

svgmatrix045 
= 
SVG 
SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 0.5 0.5 0.75 190 150
 The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.

svgmatrix046 
= 
SVG 
SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: 2 5e1 5e1 2 250 0
 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.

svgmatrix047 
= 
SVG 
SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 5e1 0 5e1 250 100
 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.

svgmatrix048 
= 
SVG 
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
 The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.

svgmatrix049 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas and no spaces
 The rect in the test should be flipped up and left and scaled down horizontally and vertically.

svgmatrix050 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
 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.

svgmatrix051 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
 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.

svgmatrix052 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
 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.

svgmatrix053 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
 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.

svgmatrix054 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
 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.

svgmatrix055 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
 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.

svgmatrix056 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by multiple spaces
 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.

svgmatrix057 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
 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.

svgmatrix058 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'a' value
 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.

svgmatrix059 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'b' value
 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.

svgmatrix060 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'c' value
 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.

svgmatrix061 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'd' value
 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.

svgmatrix062 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'e' value
 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.

svgmatrix063 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'f' value
 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.

svgmatrix064 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'a' value with another transform function
 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.

svgmatrix065 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'b' value with another transform function
 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.

svgmatrix066 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'c' value with another transform function
 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.

svgmatrix067 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'd' value with another transform function
 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.

svgmatrix068 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'e' value with another transform function
 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.

svgmatrix069 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'f' value with another transform function
 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.

svgpatterntransform001 
= 
SVG 
SVG patternTransform presentation attribute and translateX with translationvalue argument without unit
 The patternTransform attribute must support functions with unit less arguments for translationvalue. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.

svgpatterntransformcombination001 
= 
SVG 
SVG patternTransform presentation attribute and translationvalue argument with translateX applied twice
 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.

svgrotateangle45001 
= 
SVG 
SVG presentation attribute and angle argument without unit on rotate
 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.

svgrotateangle45011 
= 
SVG 
SVG presentation attribute and more than full circle rotate with unit less angle
 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.

svgrotateangle45022 
= 
SVG 
SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
 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.

svgrotateangle90001 
= 
SVG 
SVG presentation attribute and angle argument without unit on rotate
 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.

svgrotateangle90006 
= 
SVG 
SVG presentation attribute and rotate with negative, unit less turn
 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.

svgrotateangle90011 
= 
SVG 
SVG presentation attribute and more than full circle rotate with unit less angle
 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.

svgrotateangle90016 
= 
SVG 
SVG presentation attribute and rotate with scientific numbers on unit less angles
 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.

svgrotateangle90021 
= 
SVG 
SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
 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.

svgscale001 
= 
SVG 
SVG presentation attribute and scale 0.5 with only one parameter specified
 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.

svgscale002 
= 
SVG 
SVG presentation attribute and scale 1.5 with only one parameter specified
 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.

svgscale003 
= 
SVG 
SVG presentation attribute and scale 2 with only one parameter specified
 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.

svgscale004 
= 
SVG 
SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
 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.

svgscale006 
= 
SVG 
SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
 The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.

svgscale007 
= 
SVG 
SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
 The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.

svgscale008 
= 
SVG 
SVG presentation attribute and scale 0.5 on the g element
 The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.

svgscale009 
= 
SVG 
SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
 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.

svgscale010 
= 
SVG 
SVG presentation attribute and scale 0.5 with only one parameter specified
 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.

svgscale011 
= 
SVG 
SVG presentation attribute and scale 2 with only one parameter specified
 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.

svgscale012 
= 
SVG 
SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
 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.

svgscale013 
= 
SVG 
SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
 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.

svgscale014 
= 
SVG 
SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
 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.

svgscale015 
= 
SVG 
SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
 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.

svgscale016 
= 
SVG 
SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
 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.

svgscale017 
= 
SVG 
SVG presentation attribute and scale 0.5 on the g element
 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.

svgskewx001 
= 
SVG 
SVG presentation attribute and angle argument without unit on skewX
 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.

svgskewx006 
= 
SVG 
SVG presentation attribute and skewX with negative, unit less turn
 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.

svgskewx011 
= 
SVG 
SVG presentation attribute and more than full circle skewX with unit less angle
 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.

svgskewx016 
= 
SVG 
SVG presentation attribute and skewX with scientific numbers on unit less angles
 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.

svgskewx021 
= 
SVG 
SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
 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.

svgskewxy001 
= 
SVG 
SVG presentation attribute with skewX and skewY
 The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.

svgskewy001 
= 
SVG 
SVG presentation attribute and angle argument without unit on skewY
 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.

svgskewy006 
= 
SVG 
SVG presentation attribute and skewY with negative, unit less turn
 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.

svgskewy011 
= 
SVG 
SVG presentation attribute and more than full circle skewY with unit less angle
 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.

svgskewy016 
= 
SVG 
SVG presentation attribute and skewY with scientific numbers on unit less angles
 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.

svgskewy021 
= 
SVG 
SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
 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.

svgtransformgroup001 
= 
SVG 
SVG presentation attribute and translate on group
 Transforms on a parent element should be premultiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.

svgtransformgroup002 
= 
SVG 
SVG presentation attribute and translateX on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup003 
= 
SVG 
SVG presentation attribute and translateY on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup004 
= 
SVG 
SVG presentation attribute and scale on group
 Transforms on a parent element should be premultiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.

svgtransformgroup005 
= 
SVG 
SVG presentation attribute and scaleX on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup006 
= 
SVG 
SVG presentation attribute and scaleY on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup007 
= 
SVG 
SVG presentation attribute and rotate on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup008 
= 
SVG 
SVG presentation attribute and skewX on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup009 
= 
SVG 
SVG presentation attribute and skewY on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup010 
= 
SVG 
SVG presentation attribute and matrix on group
 Transforms on a parent element should be premultiplied 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.

svgtransformgroup011 
= 
SVG 
SVG presentation attribute and rotate with three arguments on group
 Transforms on a parent element should be premultiplied 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.

svgtransformnested001 
= 
SVG 
SVG presentation attribute and translate on group, translate on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.

svgtransformnested002 
= 
SVG 
SVG presentation attribute, translateX on group, translateX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.

svgtransformnested003 
= 
SVG 
SVG presentation attribute, translateY on group, translateY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.

svgtransformnested004 
= 
SVG 
SVG presentation attribute, scale on group, scale on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.

svgtransformnested005 
= 
SVG 
SVG presentation attribute, scaleX on group, scaleX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.

svgtransformnested006 
= 
SVG 
SVG presentation attribute, scaleY on group, scaleY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.

svgtransformnested007 
= 
SVG 
SVG presentation attribute, rotate on group, rotate on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.

svgtransformnested008 
= 
SVG 
SVG presentation attribute, skewX on group, skewX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.

svgtransformnested009 
= 
SVG 
SVG presentation attribute, skewY on group, skewY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.

svgtransformnested010 
= 
SVG 
SVG presentation attribute, matrix on group, matrix on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.

svgtransformnested011 
= 
SVG 
SVG presentation attribute, translate on group, scale on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.

svgtransformnested012 
= 
SVG 
SVG presentation attribute, translateX on group, scaleY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.

svgtransformnested013 
= 
SVG 
SVG presentation attribute, translateY on group, skewX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.

svgtransformnested014 
= 
SVG 
SVG presentation attribute, scale on group, skewY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.

svgtransformnested015 
= 
SVG 
SVG presentation attribute, scaleX on group, rotate on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.

svgtransformnested016 
= 
SVG 
SVG presentation attribute, scaleY on group, translateX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.

svgtransformnested017 
= 
SVG 
SVG presentation attribute, rotate on group, translateY on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.

svgtransformnested018 
= 
SVG 
SVG presentation attribute, skewX on group, scaleX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.

svgtransformnested019 
= 
SVG 
SVG presentation attribute, skewY on group, translate on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.

svgtransformnested020 
= 
SVG 
SVG presentation attribute, matrix on group, scaleX on child
 Transforms on a parent element should be premultiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.

svgtransformnested021 
= 
SVG 
SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested022 
= 
SVG 
SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested023 
= 
SVG 
SVG presentation attribute, translateY on group, translate on child1, scale on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested024 
= 
SVG 
SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested025 
= 
SVG 
SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested026 
= 
SVG 
SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested027 
= 
SVG 
SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
 Transforms on parent elements should be premultiplied 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.

svgtransformnested028 
= 
SVG 
SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
 Transforms on parent elements should be premultiplied 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.

svgtranslate001 
= 
SVG 
SVG presentation attribute and translate with translationvalue arguments without unit
 The translate transform function must support unit less arguments for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate009 
= 
SVG 
SVG presentation attribute and translate with translationvalue and unit less arguments in scientific notation
 The translate transform function must support unit less arguments in scientific numbers for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate017 
= 
SVG 
SVG presentation attribute and translate with translationvalue unit less arguments in scientific notation with negative exponents
 The translate transform function must support unit less arguments in scientific numbers with negative exponents for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate025 
= 
SVG 
SVG presentation attribute and translate with negative translationvalue arguments without unit
 The translate transform function must support negative unit less arguments for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate033 
= 
SVG 
SVG presentation attribute and translate with translationvalue and negative unit less arguments in scientific notation
 The translate transform function must support negative unit less arguments in scientific numbers for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate041 
= 
SVG 
SVG presentation attribute and translate with translationvalue unit less negative arguments in scientific notation with negative exponents
 The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translationvalue. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction

svgtranslate049 
= 
SVG 
SVG presentation attribute and translate with one translationvalue argument
 The translate transform function takes tx as the first translationvalue parameter and ty is the optional second translationvalue 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

svgtranslate050 
= 
SVG 
SVG presentation attribute and translate with one negative translationvalue argument
 The translate transform function takes tx as the first translationvalue parameter and ty is the optional second translationvalue 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

svgtranslate051 
= 
SVG 
SVG presentation attribute and translate with comma delimited arguments with no spaces
 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

svgtranslate052 
= 
SVG 
SVG presentation attribute and translate with comma delimited arguments with a space in between
 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

svgtranslate053 
= 
SVG 
SVG presentation attribute and translate with arguments separated by multiple spaces
 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

svgtranslate054 
= 
SVG 
SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
 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

svgtranslate055 
= 
SVG 
SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
 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

svgtranslatemultiple001 
= 
SVG 
SVG presentation attribute and translationvalue arguments with translate applied twice
 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

svgtranslatemultiple002 
= 
SVG 
SVG presentation attribute and translationvalue arguments with translate applied twice in both directions
 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

transform2dgetcomputedstyle001 

DOM/JSScript 
transform translate
 CSS 2D transforms correctly report their matrix via getComputedStyle()

transformmatrix001 
= 

matrix()/translateX()
 This tests that translateX() has the same effect as an equivalent matrix().

transformmatrix002 
= 

matrix()/translateY()
 This tests that translateY() has the same effect as an equivalent matrix().

transformmatrix003 
= 

matrix()/translateX(%)
 This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().

transformmatrix004 
= 

matrix()/translateY(%)
 This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().

transformmatrix005 
= ≠ 

matrix()/skewX()
 This tests that skewX() has the same effect as an equivalent matrix().

transformmatrix006 
= ≠ 

matrix()/skewY()
 This tests that skewY() has the same effect as an equivalent matrix().

transformmatrix007 
= 

matrix()/scale()
 This tests that scale() has the same effect as an equivalent matrix().

transformmatrix008 
= ≠ 

matrix() with nonnumeric args
 This tests that providing length or percentage values as arguments to matrix() is a syntax error.

transformrotate001 
= ≠ 

rotate(45deg) rotate(360deg)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate002 
= ≠ 

rotate(45deg) rotate(400grad)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate003 
= ≠ 

rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate004 
= ≠ 

rotate(45deg) rotate(100grad)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate005 
= ≠ 

rotate(135deg) rotate(3.1415926535897932384626433rad)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate006 
= ≠ 

rotate(45deg) rotate(1turn)
 This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).

transformrotate007 
= ≠ 

Rotated Simple Box
 This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.

transformscale001 
= 

scale(0.5, 0.5)
 This tests that scale(0.5, 0.5) scales down a box by a factor of onehalf.

transformscale002 
= 

scale(0.5)
 This tests that scale(0.5) scales down a box by a factor of onehalf.

transformscalepercent001 
= 

scale(50%, 50%)
 This tests that scale(50%, 75%) is equivalent to scale(0.5, 0.75), because scale() is defined to accept both numbers and percentages.

transformscalex001 
= 

scaleX(0.5)
 This tests that scaleX(0.5) scales down a box's width by a factor of onehalf.

transformscaley001 
= 

scaleY(0.5)
 This tests that scaleY(0.5) scales down a box's width by a factor of onehalf.

transformstresstest001 
= 

Inversion Stress Test
 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.

transformtranslate001 
= 

translate(50px, 50px)
 This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.

transformtranslate002 
= 

translate(50px, 50px) rotate(360deg)
 This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.

transformtranslate003 
= 

translate(25px, 25px) translate(25px, 25px)
 This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.

transformtranslate004 
= 

translate() plus relative positioning
 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.

transformtranslate005 
= 

Several Translations Combined
 This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.

transformtranslatex001 
= 

translatex(50px)
 This tests that translatex(50px) is the same as relative positioning by 50px toward the right.

transformtranslatex002 
= 

translatex(50px) rotate(360deg)
 This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.

transformtranslatex003 
= 

translatex(25px) translatex(25px)
 This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.

transformtranslatex004 
= 

translatex() plus relative positioning
 This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.

transformtranslatex005 
= 

Several XTranslations Combined
 This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.

transformtranslatex006 
= 

transform property with translateX function
 This tests that translateX(50px) translates a box by 50 pixels in the X direction.

transformtranslatey001 
= 

translatey(50px)
 This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.

transformtranslatey002 
= 

translatey(50px) rotate(360deg)
 This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.

transformtranslatey003 
= 

translatey(25px) translatey(25px)
 This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.

transformtranslatey004 
= 

translatey() plus relative positioning
 This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.

transformtranslatey005 
= 

Several YTranslations Combined
 This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.

transform_translate 

DOM/JSScript 
transform translate
 Check if transform supports translate(100px, 100px)

transform_translate_invalid 

DOM/JSScript 
transform translate with invalid translation value
 Check if transform sets translate(null, null), transform property returns initial value.

transform_translate_max 

DOM/JSScript 
transform translate with maximum translation value
 Check if transform sets translate(INFINITE, INFINITE), transform property returns initial value.

transform_translate_min 

DOM/JSScript 
transform translate with minimum translation value
 Check if transform sets translate(INFINITE, INFINITE), transform property returns initial value.

transform_translate_neg 

DOM/JSScript 
transform translate with negative translation value
 Check if transform supports translate(1px, 1px)

transform_translate_second_omited 

DOM/JSScript 
transform translate with second translation value omited
 Check if transform supports translate(100px)

transform_translate_zero 

DOM/JSScript 
transform translate
 Check if transform supports translate(0, 0)

transformsrotatedegree45 
= 

transform property with rotate function and one parameter
 If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.

transformsrotatedegree90 
= 

transform property with rotate function and one parameter
 If the rotate with parameter not provided, greenRectangle will not cover redRectangle.

transformsrotatetranslatescale 
= 

transform property with scale function and rotate function with one parameter
 If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.

transformsskewx 
= 

transform property with skew function for X axis.
 If the skew for X axis not provided, greenSquare will not cover redSquare.

transformsskewy 
= 

transform property with skew function for Y axis.
 If the skew for Y axis not provided, greenSquare will not cover redSquare.

translateoptionalsecond001 
= 

transform property with translate function and one parameter
 If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.

ttwfreftestrotate 
= 

transform rotate
 The transform should rotate 180 degrees

svgmatrix001 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
 The rect in the test should be scaled up horizontally.

svgmatrix002 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
 The rect in the test should be scaled down horizontally.

svgmatrix003 
= 
SVG 
SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
 The rect in the test should be scaled up vertically.

svgmatrix004 
= 
SVG 
SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
 The rect in the test should be scaled down vertically.

svgmatrix005 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling up horizontally: 2 0 0 1 100 0
 The rect in the test should be flipped left and scaled up horizontally.

svgmatrix006 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling down horizontally: 0.5 0 0 1 100 0
 The rect in the test should be flipped left and scaled up horizontally.

svgmatrix007 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 2 0 100
 The rect in the test should be flipped up and scaled up vertically.

svgmatrix008 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 0.5 0 100
 The rect in the test should be flipped up and scaled down vertically.

svgmatrix009 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: 0.2e1 0 0 0.2e1 0 0
 The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.

svgmatrix010 
= 
SVG 
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
 The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.

svgmatrix011 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e1 0 0 5e1 0 0
 The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.

svgmatrix012 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: 5e1 0 0 5e1 100 100
 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.

svgmatrix013 
= 
SVG 
SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
 The rect in the test should be scaled up horizontally and down vertically.

svgmatrix014 
= 
SVG 
SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
 The rect in the test should be scaled down horizontally and up vertically.

svgmatrix015 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: 2 0 0 0.5 100 100
 The rect in the test should be flipped up and left and scaled up horizontally and down vertically.

svgmatrix016 
= 
SVG 
SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: 0.5 0 0 2 100 100
 The rect in the test should be flipped up and left and scaled down horizontally and up vertically.

svgmatrix017 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 2 0 100
 The rect in the test should be flipped up scaled up horizontally and vertically.

svgmatrix018 
= 
SVG 
SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 0.5 0 100
 The rect in the test should be flipped up scaled down horizontally and vertically.

svgmatrix019 
= 
SVG 
SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: 0.5 0 0 0.5 100 0
 The rect in the test should be flipped left and scaled down horizontally and vertically.

svgmatrix020 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 0.5 0 100
 The rect in the test should be flipped up and scaled up horizontally and down vertically.

svgmatrix021 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: 2 0 0 0.5 100 0
 The rect in the test should be flipped left and scaled up horizontally and down vertically.

svgmatrix022 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 2 0 100
 The rect in the test should be flipped up and scaled down horizontally and up vertically.

svgmatrix023 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: 0.5 0 0 2 100 0
 The rect in the test should be flipped left and scaled down horizontally and up vertically.

svgmatrix024 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: 2 0 0 2 100 0
 The rect in the test should be flipped left and scaled up horizontally and vertically.

svgmatrix025 
= 
SVG 
SVG presentation attribute and matrix and flipping left: 1 0 0 1 100 0
 The rect in the test should be flipped left.

svgmatrix026 
= 
SVG 
SVG presentation attribute and matrix and flipping up: 1 0 0 0 1 0 100
 The rect in the test should be flipped up.

svgmatrix027 
= 
SVG 
SVG presentation attribute and matrix and flipping left and up: 1 0 0 0 1 100 100
 The rect in the test should be flipped left and up.

svgmatrix028 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 1 0 100
 The rect in the test should be flipped up and scaled up horizontally.

svgmatrix029 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: 2 0 0 1 10e1 10e1
 The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.

svgmatrix030 
= 
SVG 
SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 1 0 100
 The rect in the test should be flipped up and scaled down horizontally.

svgmatrix031 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: 0.5 0 0 1 100 100
 The rect in the test should be flipped up and left and scaled down horizontally.

svgmatrix032 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling up vertically: 1 0 0 2 100 0
 The rect in the test should be flipped left scaled up vertically.

svgmatrix033 
= 
SVG 
SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: 1 0 0 2 1000e1 1000e1
 The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.

svgmatrix034 
= 
SVG 
SVG presentation attribute and matrix and flipping left and scaling down vertically: 1 0 0 0.5 100 0
 The rect in the test should be flipped left scaled down vertically.

svgmatrix035 
= 
SVG 
SVG presentation attribute and matrix and flipping left and up and scaling down vertically: 1 0 0 0.5 100 100
 The rect in the test should be flipped left and up scaled down vertically.

svgmatrix036 
= 
SVG 
SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
 The rect in the test should skewed right horizontally.

svgmatrix037 
= 
SVG 
SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
 The rect in the test should skewed down horizontally.

svgmatrix038 
= 
SVG 
SVG presentation attribute and matrix and skewing left: 1 0 1 100 50
 The rect in the test should be skewed left horinzontally.

svgmatrix039 
= 
SVG 
SVG presentation attribute and matrix and skewing up: 1 1 0 1 50 100
 The rect in the test should be skewed up vertically.

svgmatrix040 
= 
SVG 
SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 0.05e1 0.05e1 1 100 50
 The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.

svgmatrix041 
= 
SVG 
SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
 The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.

svgmatrix042 
= 
SVG 
SVG presentation attribute and matrix and skewing down and left: 1 0.5 0.5 1 50 50
 The rect in the test should be skewed down vertically and left horizontally.

svgmatrix043 
= 
SVG 
SVG presentation attribute and matrix and skewing up and right: 1 0.5 0.5 1 100 0
 The rect in the test should be skewed up vertically and right horizontally.

svgmatrix044 
= 
SVG 
SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
 The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.

svgmatrix045 
= 
SVG 
SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 0.5 0.5 0.75 190 150
 The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.

svgmatrix046 
= 
SVG 
SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: 2 5e1 5e1 2 250 0
 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.

svgmatrix047 
= 
SVG 
SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 5e1 0 5e1 250 100
 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.

svgmatrix048 
= 
SVG 
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
 The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.

svgmatrix049 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas and no spaces
 The rect in the test should be flipped up and left and scaled down horizontally and vertically.

svgmatrix050 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
 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.

svgmatrix051 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
 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.

svgmatrix052 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
 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.

svgmatrix053 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
 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.

svgmatrix054 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
 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.

svgmatrix055 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
 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.

svgmatrix056 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by multiple spaces
 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.

svgmatrix057 
= 
SVG 
SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
 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.

svgmatrix058 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'a' value
 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.

svgmatrix059 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'b' value
 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.

svgmatrix060 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'c' value
 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.

svgmatrix061 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'd' value
 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.

svgmatrix062 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'e' value
 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.

svgmatrix063 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'f' value
 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.

svgmatrix064 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'a' value with another transform function
 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.

svgmatrix065 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'b' value with another transform function
 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.

svgmatrix066 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'c' value with another transform function
 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.

svgmatrix067 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'd' value with another transform function
 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.

svgmatrix068 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'e' value with another transform function
 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.

svgmatrix069 
= 
SVG 
SVG presentation attribute and matrix function with invalid 'f' value with another transform function
 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.

transformmatrix001 
= 

matrix()/translateX()
 This tests that translateX() has the same effect as an equivalent matrix().

transformmatrix002 
= 

matrix()/translateY()
 This tests that translateY() has the same effect as an equivalent matrix().

transformmatrix003 
= 

matrix()/translateX(%)
 This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().

transformmatrix004 
= 

matrix()/translateY(%)
 This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().

transformmatrix005 
= ≠ 

matrix()/skewX()
 This tests that skewX() has the same effect as an equivalent matrix().

transformmatrix006 
= ≠ 

matrix()/skewY()
 This tests that skewY() has the same effect as an equivalent matrix().

transformmatrix007 
= 

matrix()/scale()
 This tests that scale() has the same effect as an equivalent matrix().

transformmatrix008 
= ≠ 

matrix() with nonnumeric args
 This tests that providing length or percentage values as arguments to matrix() is a syntax error.
