DOMMatrix-newobject.html (1376B)
1 <!DOCTYPE html> 2 <title>Geometry Interfaces: DOMMatrix and DOMMatrixReadOnly [NewObject] methods</title> 3 <link rel="help" href="https://drafts.fxtf.org/geometry/#DOMMatrix"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 function getReturnType(method) { 8 switch(method) { 9 case "transformPoint": return "DOMPoint"; break; 10 case "toFloat32Array": return "Float32Array"; break; 11 case "toFloat64Array": return "Float64Array"; break; 12 default: return "DOMMatrix"; break; 13 } 14 } 15 ["DOMMatrix", "DOMMatrixReadOnly"].forEach((constr) => { 16 ["translate", 17 "scale", 18 "scale3d", 19 "rotate", 20 "rotateFromVector", 21 "rotateAxisAngle", 22 "skewX", 23 "skewY", 24 "multiply", 25 "flipX", 26 "flipY", 27 "inverse", 28 "transformPoint", 29 "toFloat32Array", 30 "toFloat64Array"].forEach((method) => { 31 test(() => { 32 const matrix = new self[constr](); 33 const a = matrix[method](); 34 const b = matrix[method](); 35 assert_class_string(matrix, constr, 'matrix'); 36 assert_class_string(a, getReturnType(method), 'a'); 37 assert_class_string(b, getReturnType(method), 'b'); 38 assert_not_equals(a, b, 'a !== b'); 39 assert_not_equals(a, matrix, 'a !== matrix'); 40 assert_not_equals(b, matrix, 'b !== matrix'); 41 }, `${constr} ${method}`); 42 }); 43 }); 44 </script>