<!DOCTYPE html>
<title>Geometry Interfaces: WebKitCSSMatrix</title>
<link rel="help" href="https://drafts.fxtf.org/geometry/#DOMMatrix">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
  assert_true('WebKitCSSMatrix' in self, 'WebKitCSSMatrix should exist');
  assert_true('DOMMatrix' in self, 'DOMMatrix should exist');
  assert_equals(WebKitCSSMatrix, DOMMatrix, 'interface object');
  assert_equals(WebKitCSSMatrix.prototype, DOMMatrix.prototype, 'prototype');
}, 'Equivalence test');

['WebKitCSSMatrix', 'DOMMatrix'].forEach(interf => {
  test(() => {
    const desc = Object.getOwnPropertyDescriptor(self, interf);
    assert_equals(desc.value, self[interf], 'value');
    assert_true(desc.writable, 'writable');
    assert_true(desc.configurable, 'configurable');
    assert_false(desc.enumerable, 'enumerable');
    assert_equals(desc.get, undefined, 'get');
    assert_equals(desc.set, undefined, 'set');
  }, `Property descriptor for ${interf}`);
});
</script>
