| This test checks the SVGMatrix API |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| |
| Check initial matrix values |
| PASS matrixToString(matrix) is "{ a: 1, b: 0, c: 0, d: 1, e: 0, f: 0}" |
| |
| Check assigning matrices |
| PASS matrix.a = 2 is 2 |
| PASS matrix.f = 200 is 200 |
| |
| Check assigning invalid matrices |
| PASS matrix.a = matrix is matrix |
| PASS matrix.a is NaN |
| PASS matrix.a = 0 is 0 |
| PASS matrix.a = svgElement is svgElement |
| PASS matrix.a is NaN |
| PASS matrix.a = 0 is 0 |
| PASS matrix.a = 'aString' is 'aString' |
| PASS matrix.a is NaN |
| PASS matrix.a = null is null |
| PASS matrix.a is 0 |
| PASS matrix.a = 2 is 2 |
| PASS matrix.b = matrix is matrix |
| PASS matrix.b is NaN |
| PASS matrix.b = 0 is 0 |
| PASS matrix.b = svgElement is svgElement |
| PASS matrix.b is NaN |
| PASS matrix.b = 0 is 0 |
| PASS matrix.b = 'aString' is 'aString' |
| PASS matrix.b is NaN |
| PASS matrix.b = null is null |
| PASS matrix.b is 0 |
| PASS matrix.b = 0 is 0 |
| PASS matrix.c = matrix is matrix |
| PASS matrix.c is NaN |
| PASS matrix.c = 0 is 0 |
| PASS matrix.c = svgElement is svgElement |
| PASS matrix.c is NaN |
| PASS matrix.c = 0 is 0 |
| PASS matrix.c = 'aString' is 'aString' |
| PASS matrix.c is NaN |
| PASS matrix.c = null is null |
| PASS matrix.c is 0 |
| PASS matrix.c = 0 is 0 |
| PASS matrix.d = matrix is matrix |
| PASS matrix.d is NaN |
| PASS matrix.d = 0 is 0 |
| PASS matrix.d = svgElement is svgElement |
| PASS matrix.d is NaN |
| PASS matrix.d = 0 is 0 |
| PASS matrix.d = 'aString' is 'aString' |
| PASS matrix.d is NaN |
| PASS matrix.d = null is null |
| PASS matrix.d is 0 |
| PASS matrix.d = 1 is 1 |
| PASS matrix.e = matrix is matrix |
| PASS matrix.e is NaN |
| PASS matrix.e = 0 is 0 |
| PASS matrix.e = svgElement is svgElement |
| PASS matrix.e is NaN |
| PASS matrix.e = 0 is 0 |
| PASS matrix.e = 'aString' is 'aString' |
| PASS matrix.e is NaN |
| PASS matrix.e = null is null |
| PASS matrix.e is 0 |
| PASS matrix.e = 0 is 0 |
| PASS matrix.f = matrix is matrix |
| PASS matrix.f is NaN |
| PASS matrix.f = 0 is 0 |
| PASS matrix.f = svgElement is svgElement |
| PASS matrix.f is NaN |
| PASS matrix.f = 0 is 0 |
| PASS matrix.f = 'aString' is 'aString' |
| PASS matrix.f is NaN |
| PASS matrix.f = null is null |
| PASS matrix.f is 0 |
| PASS matrix.f = 200 is 200 |
| |
| Check that the matrix is still containing the correct values |
| PASS matrixToString(matrix) is "{ a: 2, b: 0, c: 0, d: 1, e: 0, f: 200}" |
| |
| Check calling 'multiply' with invalid arguments |
| PASS matrix.multiply() threw exception TypeError: Not enough arguments. |
| PASS matrix.multiply(true) threw exception TypeError: Argument 1 ('secondMatrix') to SVGMatrix.multiply must be an instance of SVGMatrix. |
| PASS matrix.multiply(2) threw exception TypeError: Argument 1 ('secondMatrix') to SVGMatrix.multiply must be an instance of SVGMatrix. |
| PASS matrix.multiply('aString') threw exception TypeError: Argument 1 ('secondMatrix') to SVGMatrix.multiply must be an instance of SVGMatrix. |
| PASS matrix.multiply(svgElement) threw exception TypeError: Argument 1 ('secondMatrix') to SVGMatrix.multiply must be an instance of SVGMatrix. |
| |
| Check calling 'translate' with invalid arguments |
| PASS matrix.translate() threw exception TypeError: Not enough arguments. |
| PASS matrix.translate(true) threw exception TypeError: Not enough arguments. |
| PASS matrix.translate(2) threw exception TypeError: Not enough arguments. |
| PASS matrix.translate('aString') threw exception TypeError: Not enough arguments. |
| PASS matrix.translate(svgElement) threw exception TypeError: Not enough arguments. |
| PASS matrix.translate('aString', 'aString') is non-null. |
| PASS matrix.translate(svgElement, svgElement) is non-null. |
| PASS matrix.translate(2, 'aString') is non-null. |
| PASS matrix.translate(2, svgElement) is non-null. |
| PASS matrix.translate('aString', 2) is non-null. |
| PASS matrix.translate(svgElement, 2) is non-null. |
| |
| Check calling 'scale' with invalid arguments |
| PASS matrix.scale() threw exception TypeError: Not enough arguments. |
| PASS matrix.scale('aString') is non-null. |
| PASS matrix.scale(svgElement) is non-null. |
| |
| Check calling 'scaleNonUniform' with invalid arguments |
| PASS matrix.scaleNonUniform() threw exception TypeError: Not enough arguments. |
| PASS matrix.scaleNonUniform(true) threw exception TypeError: Not enough arguments. |
| PASS matrix.scaleNonUniform(2) threw exception TypeError: Not enough arguments. |
| PASS matrix.scaleNonUniform('aString') threw exception TypeError: Not enough arguments. |
| PASS matrix.scaleNonUniform(svgElement) threw exception TypeError: Not enough arguments. |
| PASS matrix.scaleNonUniform('aString', 'aString') is non-null. |
| PASS matrix.scaleNonUniform(svgElement, svgElement) is non-null. |
| PASS matrix.scaleNonUniform(2, 'aString') is non-null. |
| PASS matrix.scaleNonUniform(2, svgElement) is non-null. |
| PASS matrix.scaleNonUniform('aString', 2) is non-null. |
| PASS matrix.scaleNonUniform(svgElement, 2) is non-null. |
| |
| Check calling 'rotate' with invalid arguments |
| PASS matrix.rotate() threw exception TypeError: Not enough arguments. |
| PASS matrix.rotate('aString') is non-null. |
| PASS matrix.rotate(svgElement) is non-null. |
| |
| Check calling 'rotateFromVector' with invalid arguments |
| PASS matrix.rotateFromVector() threw exception TypeError: Not enough arguments. |
| PASS matrix.rotateFromVector(true) threw exception TypeError: Not enough arguments. |
| PASS matrix.rotateFromVector(2) threw exception TypeError: Not enough arguments. |
| PASS matrix.rotateFromVector('aString') threw exception TypeError: Not enough arguments. |
| PASS matrix.rotateFromVector(svgElement) threw exception TypeError: Not enough arguments. |
| PASS matrix.rotateFromVector('aString', 'aString') is non-null. |
| PASS matrix.rotateFromVector(svgElement, svgElement) is non-null. |
| PASS matrix.rotateFromVector(2, 'aString') is non-null. |
| PASS matrix.rotateFromVector(2, svgElement) is non-null. |
| PASS matrix.rotateFromVector('aString', 2) is non-null. |
| PASS matrix.rotateFromVector(svgElement, 2) is non-null. |
| |
| Check calling 'skewX' with invalid arguments |
| PASS matrix.skewX() threw exception TypeError: Not enough arguments. |
| PASS matrix.skewX('aString') is non-null. |
| PASS matrix.skewX(svgElement) is non-null. |
| |
| Check calling 'skewY' with invalid arguments |
| PASS matrix.skewY() threw exception TypeError: Not enough arguments. |
| PASS matrix.skewY('aString') is non-null. |
| PASS matrix.skewY(svgElement) is non-null. |
| |
| Check calling SVGMatrix methods with valid arguments |
| PASS matrixToString(matrix.translate(10, 20)) is "{ a: 2, b: 0, c: 0, d: 1, e: 20, f: 220}" |
| PASS matrixToString(matrix.scale(5)) is "{ a: 10, b: 0, c: 0, d: 5, e: 0, f: 200}" |
| PASS matrixToString(matrix.scaleNonUniform(2, 3)) is "{ a: 4, b: 0, c: 0, d: 3, e: 0, f: 200}" |
| PASS matrixToString(matrix.skewX(90)) is "{ a: 2, b: 0, c: 32662478706390740, d: 1, e: 0, f: 200}" |
| PASS matrixToString(matrix.skewY(90)) is "{ a: 2, b: 16331239353195370, c: 0, d: 1, e: 0, f: 200}" |
| |
| Check that the matrix is still containing the correct values |
| PASS matrixToString(matrix) is "{ a: 2, b: 0, c: 0, d: 1, e: 0, f: 200}" |
| |
| Calling methods that throw exceptions |
| PASS matrix.rotateFromVector(0, 4) threw exception TypeError: Type error. |
| PASS matrix.rotateFromVector(4, 0) threw exception TypeError: Type error. |
| PASS matrix.a = 0 is 0 |
| PASS matrix.inverse() threw exception InvalidStateError: Matrix is not invertible. |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |