<!DOCTYPE html>
<meta charset=utf-8>
<title>DOMQuad's handling of NaN in getBounds()</title>
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domquad-getbounds">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";

const testCases = [
  {
    name: "x coordinate is NaN",
    idx: 0,
    exp: {
      x: NaN,
      y: 0,
      width: 0,
      height: 0,
      top: 0,
      bottom: 0,
      left: NaN,
      right: NaN
    }
  },
  {
    name: "y coordinate is NaN",
    idx: 1,
    exp: {
      x: 0,
      y: NaN,
      width: 0,
      height: 0,
      top: NaN,
      bottom: NaN,
      left: 0,
      right: 0
    }
  },
  {
    name: "width is NaN",
    idx: 2,
    exp: {
      x: 0,
      y: 0,
      width: NaN,
      height: 0,
      top: 0,
      bottom: 0,
      left: NaN,
      right: NaN
    }
  },
  {
    name: "height is NaN",
    idx: 3,
    exp: {
      x: 0,
      y: 0,
      width: 0,
      height: NaN,
      top: NaN,
      bottom: NaN,
      left: 0,
      right: 0
    }
  },
];

for (const Rect of [DOMRect, DOMRectReadOnly]) {
  for (const testCase of testCases) {
    test(() => {
      const args = [0, 0, 0, 0];
      args[testCase.idx] = NaN;
      const rect = new Rect(...args);
      assert_object_equals(rect.toJSON(), testCase.exp);
    }, `${Rect.name}'s ${testCase.name}`);
  }
}
</script>
