51 lines
1.9 KiB
HTML
51 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<title>Tests that the parameters to document.elementFromPoint() and
|
|
document.elementsFromPoint() are mandatory and of type double.</title>
|
|
<link rel="help" href="https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
function validate_function_parameter_count(testFunc, funcName) {
|
|
test(function() {
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc();
|
|
}, "Called with no parameter");
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc(0);
|
|
}, "Called with 1 parameter");
|
|
}, funcName + ": Parameters are mandatory.");
|
|
}
|
|
|
|
function validate_function_parameter_type(testFunc, funcName) {
|
|
test(function() {
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc(0, Infinity);
|
|
}, "Passing Infinity as second parameter throws");
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc(Infinity, 0);
|
|
}, "Passing Infinity as first parameter throws");
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc(0, NaN);
|
|
}, "Passing NaN as second parameter throws");
|
|
assert_throws_js(TypeError, function() {
|
|
testFunc(NaN, 0);
|
|
}, "Passing NaN as first parameter throws");
|
|
}, funcName + ": Parameters should be finite floating point values.");
|
|
}
|
|
|
|
validate_function_parameter_count(function(x, y) {
|
|
document.elementFromPoint(x, y);
|
|
}, "document.elementFromPoint");
|
|
|
|
validate_function_parameter_type(function(x, y) {
|
|
document.elementFromPoint(x, y);
|
|
}, "document.elementFromPoint");
|
|
|
|
validate_function_parameter_count(function(x, y) {
|
|
document.elementsFromPoint(x, y);
|
|
}, "document.elementsFromPoint");
|
|
|
|
validate_function_parameter_type(function(x, y) {
|
|
document.elementsFromPoint(x, y);
|
|
}, "document.elementsFromPoint");
|
|
</script>
|