<!DOCTYPE html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script src="resources/common.js"></script>
</head>
<body>
<p>Check if the position of a validation message for a range control is good.</p>

<form action="validation-message-on-range.html">
<input type=range id=host required>
<input type=submit id=submit>
</form>

<div id="console"></div>
<script>
function check() {
    hostRect = getAbsoluteRect(host);
    bubbleRect = getAbsoluteRect(getValidationMessageBubbleNode(host));
    debug('The top of the bubble should be on the bottom of the host node:');
    shouldBe('bubbleRect.top', 'hostRect.bottom');
    debug('');

    finishJSTest();
}

var host = $('host');
var hostRect;
var bubbleRect;
host.setCustomValidity('Invalid Value');
$('submit').click();
if (window.testRunner) {
    setTimeout(check, 0);
} else {
    debug('The test requires testRunner.');
}

var jsTestIsAsync = true;
</script>
<script src="../../resources/js-test-post.js"></script>
</body>

