| <!doctype html> |
| <meta charset="utf-8"> |
| <title>Geometry Interfaces: DOMPointReadOnly</title> |
| <link rel="help" href="https://drafts.fxtf.org/geometry/#DOMPoint"> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="./resources/geometry-interfaces-test-helpers.js"></script> |
| <script> |
| 'use strict'; |
| |
| test(() => { |
| var point = new DOMPointReadOnly(); |
| assert_dom_point_equals(point, [0, 0, 0, 1]); |
| }, 'DOMPointReadOnly constructor without parameter'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(10); |
| assert_dom_point_equals(point, [10, 0, 0, 1]); |
| }, 'DOMPointReadOnly constructor with x parameter'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(10, 20); |
| assert_dom_point_equals(point, [10, 20, 0, 1]); |
| }, 'DOMPointReadOnly constructor with x, y parameters'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(10, 20, 30); |
| assert_dom_point_equals(point, [10, 20, 30, 1]); |
| }, 'DOMPointReadOnly constructor with x, y, z parameters'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(10, 20, 30, 40); |
| assert_dom_point_equals(point, [10, 20, 30, 40]); |
| }, 'DOMPointReadOnly constructor with x, y, z, w parameters'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(1, 2, 3, 4); |
| assert_readonly(point, 'x'); |
| assert_readonly(point, 'y'); |
| assert_readonly(point, 'z'); |
| assert_readonly(point, 'w'); |
| }, 'DOMPointReadOnly readonly test'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(1, 2, 3, 4); |
| assert_object_equals(point.toJSON(), {x: 1, y: 2, z: 3, w: 4}); |
| }, 'DOMPointReadOnly toJSON'); |
| |
| test(() => { |
| var point = DOMPointReadOnly.fromPoint({x: 1, y: 2, z: 3, w: 4}); |
| assert_dom_point_equals(point, [1, 2, 3, 4]); |
| }, 'DOMPointReadOnly.fromPoint({x: 1, y: 2, z: 3, w: 4}) should create a DOMPointReadOnly'); |
| |
| test(() => { |
| var point = DOMPointReadOnly.fromPoint(); |
| assert_dom_point_equals(point, [0, 0, 0, 1]); |
| }, 'DOMPointReadOnly.fromPoint() should create a DOMPointReadOnly'); |
| |
| test(() => { |
| var point1 = DOMPointReadOnly.fromPoint(); |
| var point2 = DOMPointReadOnly.fromPoint(); |
| assert_false(point1 == point2); |
| assert_dom_point_equals(point1, point2); |
| }, 'DOMPointReadOnly.fromPoint() should create a new DOMPointReadOnly'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(5, 4); |
| var transformed_point = point.matrixTransform(new DOMMatrixReadOnly([1, 2, 3, 4, 5, 6])); |
| assert_dom_point_equals(transformed_point, new DOMPoint(22, 32)); |
| }, 'DOMMatrixReadOnly.matrixTransform() - 2d matrixTransform'); |
| |
| test(() => { |
| var point = new DOMPointReadOnly(5, 4); |
| var transformed_point = point.matrixTransform(new DOMMatrixReadOnly([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])); |
| assert_dom_point_equals(transformed_point, new DOMPoint(38, 48, 58, 68)); |
| }, 'DOMMatrixReadOnly.matrixTransform() - 3d matrixTransform'); |
| |
| </script> |