367 lines
8.5 KiB
Plaintext
367 lines
8.5 KiB
Plaintext
This test exercises the CSSMatrix 3D interface
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
CSSMatrix constructors
|
|
PASS default constructor
|
|
PASS object constructor
|
|
PASS string constructor
|
|
|
|
Test toString
|
|
PASS a[0] is "matrix3d"
|
|
PASS parseFloat(a2[0]) is 1
|
|
PASS parseFloat(a2[1]) is 0
|
|
PASS parseFloat(a2[2]) is 0
|
|
PASS parseFloat(a2[3]) is 1
|
|
PASS parseFloat(a2[4]) is 0
|
|
PASS parseFloat(a2[5]) is 1
|
|
PASS parseFloat(a2[6]) is 0
|
|
PASS parseFloat(a2[7]) is 0
|
|
PASS parseFloat(a2[8]) is 0
|
|
PASS parseFloat(a2[9]) is 0
|
|
PASS parseFloat(a2[10]) is 1
|
|
PASS parseFloat(a2[11]) is 0
|
|
PASS parseFloat(a2[12]) is 0
|
|
PASS parseFloat(a2[13]) is 0
|
|
PASS parseFloat(a2[14]) is 0
|
|
PASS parseFloat(a3[0]) is 1
|
|
PASS a3[1] is ""
|
|
|
|
Test bad input to string constructor
|
|
PASS new WebKitCSSMatrix("banana") threw exception SyntaxError: The string did not match the expected pattern..
|
|
|
|
Test attributes on default matrix
|
|
PASS m.m11 is 1
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 0
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
Test attributes on custom matrix
|
|
PASS m.m11 is 11
|
|
PASS m.m12 is 12
|
|
PASS m.m13 is 13
|
|
PASS m.m14 is 14
|
|
PASS m.m21 is 21
|
|
PASS m.m22 is 22
|
|
PASS m.m23 is 23
|
|
PASS m.m24 is 24
|
|
PASS m.m31 is 31
|
|
PASS m.m32 is 32
|
|
PASS m.m33 is 33
|
|
PASS m.m34 is 34
|
|
PASS m.m41 is 41
|
|
PASS m.m42 is 42
|
|
PASS m.m43 is 43
|
|
PASS m.m44 is 44
|
|
|
|
Test setMatrixValue - set to matrix()
|
|
PASS m.m11 is 11
|
|
PASS m.m12 is 12
|
|
PASS m.m13 is 13
|
|
PASS m.m14 is 14
|
|
PASS m.m21 is 21
|
|
PASS m.m22 is 22
|
|
PASS m.m23 is 23
|
|
PASS m.m24 is 24
|
|
PASS m.m31 is 31
|
|
PASS m.m32 is 32
|
|
PASS m.m33 is 33
|
|
PASS m.m34 is 34
|
|
PASS m.m41 is 41
|
|
PASS m.m42 is 42
|
|
PASS m.m43 is 43
|
|
PASS m.m44 is 44
|
|
|
|
Test setMatrixValue - set to translate(10px, 20px, 30px) scale(2, 3, 4)
|
|
PASS m.m11 is 2
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 3
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 4
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 10
|
|
PASS m.m42 is 20
|
|
PASS m.m43 is 30
|
|
PASS m.m44 is 1
|
|
|
|
Test throwing exception from setMatrixValue
|
|
PASS m.setMatrixValue("banana") threw exception SyntaxError: The string did not match the expected pattern..
|
|
PASS m.setMatrixValue("translate3d(10em, 20%, 40)") threw exception SyntaxError: The string did not match the expected pattern..
|
|
PASS m.setMatrixValue("translate3d(10px, 20px, 30px) scale3d()") threw exception SyntaxError: The string did not match the expected pattern..
|
|
|
|
Test multiply
|
|
PASS parseFloat(m3.m11) is 538
|
|
PASS parseFloat(m3.m12) is 612
|
|
PASS parseFloat(m3.m13) is 686
|
|
PASS parseFloat(m3.m14) is 760
|
|
PASS parseFloat(m3.m21) is 650
|
|
PASS parseFloat(m3.m22) is 740
|
|
PASS parseFloat(m3.m23) is 830
|
|
PASS parseFloat(m3.m24) is 920
|
|
PASS parseFloat(m3.m31) is 762
|
|
PASS parseFloat(m3.m32) is 868
|
|
PASS parseFloat(m3.m33) is 974
|
|
PASS parseFloat(m3.m34) is 1080
|
|
PASS parseFloat(m3.m41) is 874
|
|
PASS parseFloat(m3.m42) is 996
|
|
PASS parseFloat(m3.m43) is 1118
|
|
PASS parseFloat(m3.m44) is 1240
|
|
|
|
Test immutability of multiply
|
|
PASS parseFloat(m.m11) is 1
|
|
PASS parseFloat(m.m12) is 2
|
|
PASS parseFloat(m.m13) is 3
|
|
PASS parseFloat(m.m14) is 4
|
|
PASS parseFloat(m.m21) is 5
|
|
PASS parseFloat(m.m22) is 6
|
|
PASS parseFloat(m.m23) is 7
|
|
PASS parseFloat(m.m24) is 8
|
|
PASS parseFloat(m.m31) is 9
|
|
PASS parseFloat(m.m32) is 10
|
|
PASS parseFloat(m.m33) is 11
|
|
PASS parseFloat(m.m34) is 12
|
|
PASS parseFloat(m.m41) is 13
|
|
PASS parseFloat(m.m42) is 14
|
|
PASS parseFloat(m.m43) is 15
|
|
PASS parseFloat(m.m44) is 16
|
|
|
|
Test multiply in an affine matrix
|
|
PASS parseFloat(m3.m11) is 31
|
|
PASS parseFloat(m3.m12) is 46
|
|
PASS parseFloat(m3.m13) is 0
|
|
PASS parseFloat(m3.m14) is 0
|
|
PASS parseFloat(m3.m21) is 39
|
|
PASS parseFloat(m3.m22) is 58
|
|
PASS parseFloat(m3.m23) is 0
|
|
PASS parseFloat(m3.m24) is 0
|
|
PASS parseFloat(m3.m31) is 0
|
|
PASS parseFloat(m3.m32) is 0
|
|
PASS parseFloat(m3.m33) is 1
|
|
PASS parseFloat(m3.m34) is 0
|
|
PASS parseFloat(m3.m41) is 52
|
|
PASS parseFloat(m3.m42) is 76
|
|
PASS parseFloat(m3.m43) is 0
|
|
PASS parseFloat(m3.m44) is 1
|
|
|
|
Test that multiply works in the right direction
|
|
PASS m.m11 is 2
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 100
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
Test inverse
|
|
PASS parseFloat(m2.m11) is 0.5
|
|
PASS parseFloat(m2.m12) is 0
|
|
PASS parseFloat(m2.m13) is 0
|
|
PASS parseFloat(m2.m14) is 0
|
|
PASS parseFloat(m2.m21) is 0
|
|
PASS parseFloat(m2.m22) is 0.5
|
|
PASS parseFloat(m2.m23) is 0
|
|
PASS parseFloat(m2.m24) is 0
|
|
PASS parseFloat(m2.m31) is 0
|
|
PASS parseFloat(m2.m32) is 0
|
|
PASS parseFloat(m2.m33) is 0.5
|
|
PASS parseFloat(m2.m34) is 0
|
|
PASS parseFloat(m2.m41) is -5
|
|
PASS parseFloat(m2.m42) is -10
|
|
PASS parseFloat(m2.m43) is -15
|
|
PASS parseFloat(m2.m44) is 1
|
|
|
|
Test immutability of inverse
|
|
PASS parseFloat(m.m11) is 2
|
|
PASS parseFloat(m.m12) is 0
|
|
PASS parseFloat(m.m13) is 0
|
|
PASS parseFloat(m.m14) is 0
|
|
PASS parseFloat(m.m21) is 0
|
|
PASS parseFloat(m.m22) is 2
|
|
PASS parseFloat(m.m23) is 0
|
|
PASS parseFloat(m.m24) is 0
|
|
PASS parseFloat(m.m31) is 0
|
|
PASS parseFloat(m.m32) is 0
|
|
PASS parseFloat(m.m33) is 2
|
|
PASS parseFloat(m.m34) is 0
|
|
PASS parseFloat(m.m41) is 10
|
|
PASS parseFloat(m.m42) is 20
|
|
PASS parseFloat(m.m43) is 30
|
|
PASS parseFloat(m.m44) is 1
|
|
|
|
Test translate
|
|
PASS m2.m11 is 1
|
|
PASS m2.m12 is 0
|
|
PASS m2.m13 is 0
|
|
PASS m2.m14 is 0
|
|
PASS m2.m21 is 0
|
|
PASS m2.m22 is 1
|
|
PASS m2.m23 is 0
|
|
PASS m2.m24 is 0
|
|
PASS m2.m31 is 0
|
|
PASS m2.m32 is 0
|
|
PASS m2.m33 is 1
|
|
PASS m2.m34 is 0
|
|
PASS m2.m41 is 10
|
|
PASS m2.m42 is 20
|
|
PASS m2.m43 is 30
|
|
PASS m2.m44 is 1
|
|
|
|
Test immutability of translate
|
|
PASS m.m11 is 1
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 0
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
Test scale
|
|
PASS m2.m11 is 10
|
|
PASS m2.m12 is 0
|
|
PASS m2.m13 is 0
|
|
PASS m2.m14 is 0
|
|
PASS m2.m21 is 0
|
|
PASS m2.m22 is 20
|
|
PASS m2.m23 is 0
|
|
PASS m2.m24 is 0
|
|
PASS m2.m31 is 0
|
|
PASS m2.m32 is 0
|
|
PASS m2.m33 is 30
|
|
PASS m2.m34 is 0
|
|
PASS m2.m41 is 0
|
|
PASS m2.m42 is 0
|
|
PASS m2.m43 is 0
|
|
PASS m2.m44 is 1
|
|
|
|
Test immutability of scale
|
|
PASS m.m11 is 1
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 0
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
Test rotate
|
|
PASS parseFloat(m2.m11.toPrecision(6)) is 0.813798
|
|
PASS parseFloat(m2.m12.toPrecision(6)) is 0.469846
|
|
PASS parseFloat(m2.m13.toPrecision(6)) is -0.34202
|
|
PASS parseFloat(m2.m14.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m21.toPrecision(6)) is -0.44097
|
|
PASS parseFloat(m2.m22.toPrecision(6)) is 0.882564
|
|
PASS parseFloat(m2.m23.toPrecision(6)) is 0.163176
|
|
PASS parseFloat(m2.m24.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m31.toPrecision(6)) is 0.378522
|
|
PASS parseFloat(m2.m32.toPrecision(6)) is 0.0180283
|
|
PASS parseFloat(m2.m33.toPrecision(6)) is 0.925417
|
|
PASS parseFloat(m2.m34.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m41.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m42.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m43.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m44.toPrecision(6)) is 1
|
|
|
|
Test immutability of rotate
|
|
PASS m.m11 is 1
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 0
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
Test rotateAxisAngle
|
|
PASS parseFloat(m2.m11.toPrecision(6)) is 0.804738
|
|
PASS parseFloat(m2.m12.toPrecision(6)) is 0.505879
|
|
PASS parseFloat(m2.m13.toPrecision(6)) is -0.310617
|
|
PASS parseFloat(m2.m14.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m21.toPrecision(6)) is -0.310617
|
|
PASS parseFloat(m2.m22.toPrecision(6)) is 0.804738
|
|
PASS parseFloat(m2.m23.toPrecision(6)) is 0.505879
|
|
PASS parseFloat(m2.m24.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m31.toPrecision(6)) is 0.505879
|
|
PASS parseFloat(m2.m32.toPrecision(6)) is -0.310617
|
|
PASS parseFloat(m2.m33.toPrecision(6)) is 0.804738
|
|
PASS parseFloat(m2.m34.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m41.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m42.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m43.toPrecision(6)) is 0
|
|
PASS parseFloat(m2.m44.toPrecision(6)) is 1
|
|
|
|
Test immutability of rotateAxisAngle
|
|
PASS m.m11 is 1
|
|
PASS m.m12 is 0
|
|
PASS m.m13 is 0
|
|
PASS m.m14 is 0
|
|
PASS m.m21 is 0
|
|
PASS m.m22 is 1
|
|
PASS m.m23 is 0
|
|
PASS m.m24 is 0
|
|
PASS m.m31 is 0
|
|
PASS m.m32 is 0
|
|
PASS m.m33 is 1
|
|
PASS m.m34 is 0
|
|
PASS m.m41 is 0
|
|
PASS m.m42 is 0
|
|
PASS m.m43 is 0
|
|
PASS m.m44 is 1
|
|
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|