[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 1 | <!DOCTYPE html> |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 2 | <script src="../../resources/testharness.js"></script> |
[email protected] | bac90e1 | 2014-08-25 17:58:01 | [diff] [blame] | 3 | <script src="../../resources/testharnessreport.js"></script> |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 4 | <script src="./resources/geometry-interfaces-test-helpers.js"></script> |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 5 | <script> |
hs1217.lee | c65c410f | 2016-11-08 10:37:17 | [diff] [blame] | 6 | |
| 7 | test(function() { |
| 8 | var matrix = new DOMMatrix(); |
| 9 | assert_identity_2d_matrix(matrix); |
| 10 | var result = matrix.translate(); |
| 11 | assert_identity_2d_matrix(result); |
| 12 | assert_identity_2d_matrix(matrix); |
| 13 | }, "DOMMatrix.translate()"); |
| 14 | |
| 15 | test(function() { |
| 16 | var matrix = new DOMMatrix(); |
| 17 | assert_identity_2d_matrix(matrix); |
| 18 | var result = matrix.translate(6); |
| 19 | assert_2d_matrix_equals(result, [1, 0, 0, 1, 6, 0]); |
| 20 | assert_identity_2d_matrix(matrix); |
| 21 | }, "DOMMatrix.translate(tx)"); |
| 22 | |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 23 | test(function() { |
| 24 | var matrix = new DOMMatrix(); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 25 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 26 | var result = matrix.translate(2, 3); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 27 | assert_2d_matrix_equals(result, [1, 0, 0, 1, 2, 3]); |
| 28 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 29 | }, "DOMMatrix.translate(tx, ty)"); |
| 30 | |
| 31 | test(function() { |
| 32 | var matrix = new DOMMatrix(); |
| 33 | matrix.translateSelf(2, 3); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 34 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 2, 3]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 35 | var result = matrix.translate(4, 2); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 36 | assert_2d_matrix_equals(result, [1, 0, 0, 1, 6, 5]); |
| 37 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 2, 3]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 38 | }, "DOMMatrix.translate(tx, ty) with non-identity"); |
| 39 | |
| 40 | test(function() { |
| 41 | var matrix = new DOMMatrix(); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 42 | assert_identity_2d_matrix(matrix); |
hs1217.lee | c65c410f | 2016-11-08 10:37:17 | [diff] [blame] | 43 | var result = matrix.translateSelf(); |
| 44 | assert_identity_2d_matrix(result); |
| 45 | assert_identity_2d_matrix(matrix); |
| 46 | }, "DOMMatrix.translateSelf()"); |
| 47 | |
| 48 | test(function() { |
| 49 | var matrix = new DOMMatrix(); |
| 50 | assert_identity_2d_matrix(matrix); |
| 51 | var result = matrix.translateSelf(5); |
| 52 | assert_2d_matrix_equals(result, [1, 0, 0, 1, 5, 0]); |
| 53 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 5, 0]); |
| 54 | }, "DOMMatrix.translateSelf(tx)"); |
| 55 | |
| 56 | test(function() { |
| 57 | var matrix = new DOMMatrix(); |
| 58 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 59 | var result = matrix.translateSelf(4, 2); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 60 | assert_2d_matrix_equals(result, [1, 0, 0, 1, 4, 2]); |
| 61 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 4, 2]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 62 | }, "DOMMatrix.translateSelf(tx, ty)"); |
| 63 | |
| 64 | test(function() { |
| 65 | var matrix = new DOMMatrix(); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 66 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 67 | var result = matrix.translate(2, 3, 4); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 68 | assert_3d_matrix_equals(result, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 4, 1]); |
| 69 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 70 | }, "DOMMatrix.translate(tx, ty, tz)"); |
| 71 | |
| 72 | test(function() { |
| 73 | var matrix = new DOMMatrix(); |
| 74 | matrix.translateSelf(2, 3); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 75 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 2, 3]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 76 | var result = matrix.translate(4, 2, 3); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 77 | assert_3d_matrix_equals(result, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6, 5, 3, 1]); |
| 78 | assert_2d_matrix_equals(matrix, [1, 0, 0, 1, 2, 3]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 79 | }, "DOMMatrix.translate(tx, ty, tz) with non-identity"); |
| 80 | |
| 81 | test(function() { |
| 82 | var matrix = new DOMMatrix(); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 83 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 84 | var result = matrix.translateSelf(4, 2, 3); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 85 | assert_3d_matrix_equals(result, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 3, 1]); |
| 86 | assert_3d_matrix_equals(matrix, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 3, 1]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 87 | }, "DOMMatrix.translateSelf(tx, ty, tz)"); |
| 88 | |
| 89 | test(function() { |
| 90 | var matrix = new DOMMatrix(); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 91 | assert_identity_2d_matrix(matrix); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 92 | matrix.m14 = 2; |
| 93 | matrix.m24 = 3; |
| 94 | matrix.m34 = 4; |
| 95 | matrix.m44 = 7; |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 96 | assert_3d_matrix_equals(matrix, [1, 0, 0, 2, 0, 1, 0, 3, 0, 0, 1, 4, 0, 0, 0, 7]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 97 | matrix.translateSelf(7, -8, 2); |
hs1217.lee | 33bb8aa1 | 2016-09-27 18:20:19 | [diff] [blame] | 98 | assert_3d_matrix_equals(matrix, [1, 0, 0, 2, 0, 1, 0, 3, 0, 0, 1, 4, 7, -8, 2, 5]); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 99 | }, "DOMMatrix.translateSelf(tx, ty, tz) Homogeneous Coordinates"); |
[email protected] | 2b3ee51b | 2014-08-17 09:52:03 | [diff] [blame] | 100 | </script> |