This test exercises the CSSMatrix 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 "matrix" 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(a3[0]) is 0 PASS a3[1] is "" Test bad input to string constructor PASS new WebKitCSSMatrix("banana") threw exception Error: SYNTAX_ERR: DOM Exception 12. Test attributes on default matrix PASS m.a is 1 PASS m.b is 0 PASS m.c is 0 PASS m.d is 1 PASS m.e is 0 PASS m.f is 0 Test attributes on custom matrix PASS m.a is 11 PASS m.b is 12 PASS m.c is 21 PASS m.d is 22 PASS m.e is 41 PASS m.f is 42 Test setMatrixValue - set to matrix() PASS m.a is 11 PASS m.b is 12 PASS m.c is 21 PASS m.d is 22 PASS m.e is 41 PASS m.f is 42 Test setMatrixValue - set to translate(10px, 20px) scale(2, 3) PASS m.a is 2 PASS m.b is 0 PASS m.c is 0 PASS m.d is 3 PASS m.e is 10 PASS m.f is 20 Test throwing exception from setMatrixValue PASS m.setMatrixValue("banana") threw exception Error: SYNTAX_ERR: DOM Exception 12. PASS m.setMatrixValue("translate(10em, 20%)") threw exception Error: SYNTAX_ERR: DOM Exception 12. PASS m.setMatrixValue("translate(10px, 20px) scale()") threw exception Error: SYNTAX_ERR: DOM Exception 12. Test multiply PASS parseFloat(m3.a) is 25 PASS parseFloat(m3.b) is 28 PASS parseFloat(m3.c) is 57 PASS parseFloat(m3.d) is 64 PASS parseFloat(m3.e) is 100 PASS parseFloat(m3.f) is 112 Test multiply with missing argument PASS m2 is null Test immutability of multiply PASS parseFloat(m.a) is 1 PASS parseFloat(m.b) is 2 PASS parseFloat(m.c) is 3 PASS parseFloat(m.d) is 4 PASS parseFloat(m.e) is 5 PASS parseFloat(m.f) is 6 Test inverse PASS parseFloat(m2.a) is 0.5 PASS parseFloat(m2.b) is 0 PASS parseFloat(m2.c) is 0 PASS parseFloat(m2.d) is 0.5 PASS parseFloat(m2.e) is -5 PASS parseFloat(m2.f) is -10 Test immutability of inverse PASS parseFloat(m.a) is 2 PASS parseFloat(m.b) is 0 PASS parseFloat(m.c) is 0 PASS parseFloat(m.d) is 2 PASS parseFloat(m.e) is 10 PASS parseFloat(m.f) is 20 Test throwing exception from inverse PASS m.inverse() threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9. Test translate PASS m2.a is 1 PASS m2.b is 0 PASS m2.c is 0 PASS m2.d is 1 PASS m2.e is 10 PASS m2.f is 20 Test immutability of translate PASS parseFloat(m.a) is 1 PASS parseFloat(m.b) is 0 PASS parseFloat(m.c) is 0 PASS parseFloat(m.d) is 1 PASS parseFloat(m.e) is 0 PASS parseFloat(m.f) is 0 Test scale PASS m2.a is 10 PASS m2.b is 0 PASS m2.c is 0 PASS m2.d is 20 PASS m2.e is 0 PASS m2.f is 0 Test immutability of scale PASS parseFloat(m.a) is 1 PASS parseFloat(m.b) is 0 PASS parseFloat(m.c) is 0 PASS parseFloat(m.d) is 1 PASS parseFloat(m.e) is 0 PASS parseFloat(m.f) is 0 Test rotate PASS parseFloat(m2.a.toPrecision(6)) is 0.984808 PASS parseFloat(m2.b.toPrecision(6)) is 0.173648 PASS parseFloat(m2.c.toPrecision(6)) is -0.173648 PASS parseFloat(m2.d.toPrecision(6)) is 0.984808 PASS m.e is 0 PASS m.f is 0 Test immutability of rotate PASS parseFloat(m.a) is 1 PASS parseFloat(m.b) is 0 PASS parseFloat(m.c) is 0 PASS parseFloat(m.d) is 1 PASS parseFloat(m.e) is 0 PASS parseFloat(m.f) is 0 PASS successfullyParsed is true TEST COMPLETE