<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description('Test for validationMessage IDL attribute for &lt;input type=number>');
var parent = document.createElement('div');
document.body.appendChild(parent);
parent.innerHTML = '<input type=number id=number maxlength=1 pattern=x>';
var input = document.getElementById('number');

function testIt(value, min, max, step)
{
    input.setAttribute("max", max);
    input.setAttribute("min", min);
    input.setAttribute("step", step);
    input.setAttribute("value", value);
    return input.validationMessage;
}

debug('No message')
shouldBeEqualToString('testIt("", "", "")', '');

debug('Value missing')
input.setAttribute("required", "");
shouldBeEqualToString('testIt("", "", "")', 'value missing');
input.removeAttribute("required");

debug('Type mismatch');
shouldBeEqualToString('testIt("foo", "", "")', '');

debug('Range overflow')
shouldBeEqualToString('testIt("200", "", "100")', 'range overflow');

debug('Range underflow')
shouldBeEqualToString('testIt("10", "50", "100")', 'range underflow');

debug('Step mismatch')
shouldBeEqualToString('testIt("55", "0", "100", "10")', 'step mismatch');

</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
