blob: 735467e4c6c6fb5edb6a9b0ba89c781c42f05a23 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Test the Touch constructor");
// identifier and target members are required.
shouldThrowErrorName("new Touch({ })", "TypeError");
shouldThrowErrorName("new Touch({ identifier: 0 })", "TypeError");
shouldThrowErrorName("new Touch({ target: document.body })", "TypeError");
// target is not nullable.
shouldThrowErrorName("new Touch({ identifier: 0, target: null })", "TypeError");
function validateTouch(touch, dictionary)
{
createdTouch = touch;
init = dictionary;
shouldBe("createdTouch.identifier", "init.identifier");
shouldBe("createdTouch.target", "init.target");
if (init.hasOwnProperty("screenX"))
shouldBe("createdTouch.screenX", "init.screenX");
else
shouldBe("createdTouch.screenX", "0");
if (init.hasOwnProperty("screenY"))
shouldBe("createdTouch.screenY", "init.screenY");
else
shouldBe("createdTouch.screenY", "0");
if (init.hasOwnProperty("pageX"))
shouldBe("createdTouch.pageX", "init.pageX");
else
shouldBe("createdTouch.pageX", "0");
if (init.hasOwnProperty("pageY"))
shouldBe("createdTouch.pageY", "init.pageY");
else
shouldBe("createdTouch.pageY", "0");
if (init.hasOwnProperty("clientX"))
shouldBe("createdTouch.clientX", "init.clientX");
else
shouldBe("createdTouch.clientX", "0");
if (init.hasOwnProperty("clientY"))
shouldBe("createdTouch.clientY", "init.clientY");
else
shouldBe("createdTouch.clientY", "0");
if (init.hasOwnProperty("radiusX"))
shouldBe("createdTouch.radiusX", "init.radiusX");
else
shouldBe("createdTouch.radiusX", "0");
if (init.hasOwnProperty("radiusY"))
shouldBe("createdTouch.radiusY", "init.radiusY");
else
shouldBe("createdTouch.radiusY", "0");
if (init.hasOwnProperty("rotationAngle"))
shouldBe("createdTouch.rotationAngle", "init.rotationAngle");
else
shouldBe("createdTouch.rotationAngle", "0");
if (init.hasOwnProperty("force"))
shouldBe("createdTouch.force", "init.force");
else
shouldBe("createdTouch.force", "0");
}
debug("");
shouldNotThrow("touch = new Touch({ identifier: 1, target: document.body })");
validateTouch(touch, { identifier: 1, target: document.body });
debug("");
shouldNotThrow("touch = new Touch({ identifier: 1, target: document.body, clientX: 1, clientY: 2, screenX: 3, screenY: 4, pageX: 5, pageY: 6, force: 7, radiusX: 8, radiusY: 9, rotationAngle: 10 })");
validateTouch(touch, { identifier: 1, target: document.body, clientX: 1, clientY: 2, screenX: 3, screenY: 4, pageX: 5, pageY: 6, force: 7, radiusX: 8, radiusY: 9, rotationAngle: 10 });
debug("");
shouldNotThrow("touch = new Touch({ identifier: 1, target: document.body, clientX: 1.5, clientY: 2.5, screenX: 3.5, screenY: 4.5, pageX: 5.5, pageY: 6.5, force: 7.5, radiusX: 8.5, radiusY: 9.5, rotationAngle: 10.5 })");
validateTouch(touch, { identifier: 1, target: document.body, clientX: 1.5, clientY: 2.5, screenX: 3.5, screenY: 4.5, pageX: 5.5, pageY: 6.5, force: 7.5, radiusX: 8.5, radiusY: 9.5, rotationAngle: 10.5 });
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>