79 lines
1.4 KiB
HTML
79 lines
1.4 KiB
HTML
<!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>
|