summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/geometry/DOMMatrix-002.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/geometry/DOMMatrix-002.html')
-rw-r--r--testing/web-platform/tests/css/geometry/DOMMatrix-002.html113
1 files changed, 113 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/geometry/DOMMatrix-002.html b/testing/web-platform/tests/css/geometry/DOMMatrix-002.html
new file mode 100644
index 0000000000..c262f7822f
--- /dev/null
+++ b/testing/web-platform/tests/css/geometry/DOMMatrix-002.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Geometry Interfaces: DOMMatrixReadOnly methods do not mutate the object</title>
+ <link href="mailto:peter.hall@algomi.com" rel="author" title="Peter Hall">
+ <link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMMatrix">
+ <script src="support/dommatrix-test-util.js"></script>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+ <p>Test DOMMatrixReadOnly methods do not mutate the object</p>
+ <div id="log"></div>
+ <script>
+
+ function initialMatrix(){
+ return DOMMatrixReadOnly.fromMatrix(
+ {
+ m11:1, m12:-0.5, m13: 0.5, m14:0,
+ m21:0.5, m22:2, m23: -0.5, m24:0,
+ m31:0, m32:0, m33: 1, m34:0,
+ m41:0, m42:0, m43: 0, m44:1,
+ is2D: false
+ }
+ );
+ }
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.translate(1,5,3);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test translate() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.scale(1,5,3,0,1,3);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test scale() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.scaleNonUniform(1,5);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test scaleNonUniform() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.scale3d(3,2,1,1);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test scale3d() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.rotate(Math.PI, Math.PI/2, Math.PI/6);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test rotate() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.rotateFromVector(10,-4);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test rotateFromVector() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.rotateAxisAngle(3,4,5, Math.PI/6);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test rotateAxisAngle() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.skewX(20);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test skewX() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.skewY(20);
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test skewY() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.multiply({ m11:1, m12:2, m13: 0, m14:0,
+ m21:-1, m22:2, m23: -1, m24:0,
+ m31:0, m32:0, m33: 1, m34:0,
+ m41:5, m42:0, m43: 2, m44:1,
+ is2D: false,
+ isIdentity:false });
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test multiply() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.flipX();
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test flipX() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.flipY();
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test flipY() doesn't mutate");
+
+ test(function() {
+ var matrix = initialMatrix();
+ matrix.inverse();
+ checkDOMMatrix(matrix, initialMatrix());
+ },"test inverse() doesn't mutate");
+
+ </script>
+</body>
+</html>