DOMMatrix-invert-preserves-2d.html (1043B)
1 <!DOCTYPE html> 2 <title>Test DOMMatrix.inverse()/invertSelf() keep is2D status</title> 3 <link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMMatrix"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 function check2D(m) { 8 assert_true(m.is2D); 9 // assert_equals() distinguish 0 and -0, so use '== 0' instead. 10 assert_true(m.m13 == 0); 11 assert_true(m.m14 == 0); 12 assert_true(m.m23 == 0); 13 assert_true(m.m24 == 0); 14 assert_true(m.m31 == 0); 15 assert_true(m.m32 == 0); 16 assert_equals(m.m33, 1); 17 assert_true(m.m34 == 0); 18 assert_true(m.m43 == 0); 19 assert_equals(m.m44, 1); 20 } 21 22 test(function() { 23 for (var s = 0.1; s < 20; s += 0.1) { 24 m = new DOMMatrix().scale(s, s); 25 check2D(m); 26 check2D(m.inverse()); 27 m.invertSelf(); 28 check2D(m); 29 } 30 }, "scale"); 31 32 test(function() { 33 for (var r = 0; r < 180; r += 2) { 34 m = new DOMMatrix().rotate(r); 35 check2D(m); 36 check2D(m.inverse()); 37 m.invertSelf(); 38 check2D(m); 39 } 40 }, "rotate"); 41 </script>