Index: third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html |
diff --git a/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html b/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html |
index ee37c502e139f7c5ff40109b24d97a618d258e47..14d8c7285b53d6ccbec0f14646b52bb254c3acb2 100644 |
--- a/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html |
+++ b/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html |
@@ -35,6 +35,20 @@ test(() => { |
}, "DOMMatrix fromFloat64Array - 3D matrix"); |
test(() => { |
+ var matrix = new DOMMatrix(""); |
+ assert_identity_2d_matrix(matrix); |
+}, "DOMMatrix(transformList) - emptyString"); |
+ |
+test(() => { |
+ var matrix = new DOMMatrix("matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0) translate(44px, 55px) skewX(30deg)"); |
+ var expectedMatrix = new DOMMatrix(); |
+ expectedMatrix.multiplySelf(new DOMMatrix([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])) |
+ expectedMatrix.translateSelf(44, 55) |
+ expectedMatrix.skewXSelf(30); |
+ assert_matrix_almost_equals(matrix, expectedMatrix); |
+}, "DOMMatrix(transformList) - transformList"); |
+ |
+test(() => { |
var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
assert_2d_matrix_equals(matrix, [1, 2, 3, 4, 5, 6]); |
}, "DOMMatrix(numberSequence) constructor"); |
@@ -185,6 +199,34 @@ test(() => { |
}, "DOMMatrix toJSON() - 3D matrix"); |
test(() => { |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix(1, 2, 3, 4, 5, 6); }, |
+ "DOMMatrix(transformList) can't parse unknown keyword - DOMMatrixReadOnly(1, 2, 3, 4, 5, 6) is same with DOMMatrixReadOnly('1')"); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("myString"); }, |
+ "DOMMatrix(transformList) can't parse unknown keyword."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("initial");}, |
+ "CSS-wide keywords are disallowed."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("notExistFunction()"); }, |
+ "can't parse not exist function."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateY(50%)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(1.2em)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10ex)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10ch)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10rem)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vw)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vh)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vmin)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vmax)"); }, |
+ "Must have an absolute unit."); |
+ assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(calc(10px + 1em))"); }, |
+ "Must have an absolute unit."); |
assert_throws(new TypeError(), () => { |
var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: true}); |
}, "The 'is2D' property is set to true but the input matrix is 3d matrix."); |
@@ -192,4 +234,5 @@ test(() => { |
var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3}); |
}, "The 'a' property should equal the 'm11' property."); |
}, "DOMMatrix.fromMatrix(): Exception test."); |
+ |
</script> |