<!DOCTYPE html>
<title>Geometry Interfaces: DOMMatrix and DOMMatrixReadOnly [NewObject] methods</title>
<link rel="help" href="https://drafts.fxtf.org/geometry/#DOMMatrix">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
function getReturnType(method) {
  switch(method) {
    case "transformPoint": return "DOMPoint"; break;
    case "toFloat32Array": return "Float32Array"; break;
    case "toFloat64Array": return "Float64Array"; break;
    default: return "DOMMatrix"; break;
  }
}
["DOMMatrix", "DOMMatrixReadOnly"].forEach((constr) => {
  ["translate",
   "scale",
   "scale3d",
   "rotate",
   "rotateFromVector",
   "rotateAxisAngle",
   "skewX",
   "skewY",
   "multiply",
   "flipX",
   "flipY",
   "inverse",
   "transformPoint",
   "toFloat32Array",
   "toFloat64Array"].forEach((method) => {
     test(() => {
       const matrix = new self[constr]();
       const a = matrix[method]();
       const b = matrix[method]();
       assert_class_string(matrix, constr, 'matrix');
       assert_class_string(a, getReturnType(method), 'a');
       assert_class_string(b, getReturnType(method), 'b');
       assert_not_equals(a, b, 'a !== b');
       assert_not_equals(a, matrix, 'a !== matrix');
       assert_not_equals(b, matrix, 'b !== matrix');
     }, `${constr} ${method}`);
   });
});
</script>
