SVG 1.1 dynamic animation tests

Tests if gradientTransform of a gradient is animateable.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS gradient.gradientTransform.animVal.consolidate() threw exception NoModificationAllowedError: The object can not be modified..
PASS gradient.gradientTransform.animVal.numberOfItems is 1
PASS gradient.gradientTransform.animVal.getItem(0).matrix.e is 0
PASS gradient.gradientTransform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.baseVal.numberOfItems is 1
PASS gradient.gradientTransform.baseVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.baseVal.getItem(0).matrix.e is 0
PASS gradient.gradientTransform.animVal.numberOfItems is 1
PASS gradient.gradientTransform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.animVal.getItem(0).matrix.e is 100
PASS gradient.gradientTransform.baseVal.numberOfItems is 1
PASS gradient.gradientTransform.baseVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.baseVal.getItem(0).matrix.e is 0
PASS gradient.gradientTransform.animVal.numberOfItems is 1
PASS gradient.gradientTransform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.animVal.getItem(0).matrix.e is 200
PASS gradient.gradientTransform.baseVal.numberOfItems is 1
PASS gradient.gradientTransform.baseVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.baseVal.getItem(0).matrix.e is 0
PASS gradient.gradientTransform.animVal.numberOfItems is 1
PASS gradient.gradientTransform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.animVal.getItem(0).matrix.e is 200
PASS gradient.gradientTransform.baseVal.numberOfItems is 1
PASS gradient.gradientTransform.baseVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
PASS gradient.gradientTransform.baseVal.getItem(0).matrix.e is 0
PASS successfullyParsed is true

TEST COMPLETE

