blob: 589574bac4ea9e780f0e13cd7b3be3ef6bd9623e [file] [log] [blame]
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<input id="foo" type=range step=0.1 value=0.6>
<div id="console"></div>
<div id="sliders"></div>
<script>
description("<a href='http://bugs.webkit.org/show_bug.cgi?id=80009'>80009 Introduce Decimal arithmetic to fix rounding errors in number/range input types</a>");
function createSample(step, value, max)
{
var container = document.createElement("span");
container.innerHTML = '<input type=range min=0 max=' + max + ' step=' + step + ' value=' + value + '><br>';
document.getElementById("sliders").appendChild(container);
return container.firstChild;
}
var zeros = "0.";
for (var exponent = 0; exponent < 15; ++exponent) {
var step = zeros + "1";
for (var digit = 1; digit <= 9; ++digit) {
var value = zeros + digit.toString();
var sample = 'createSample("' + step + '", "' + value + '", "1e-' + exponent + '")';
var stepExponent = exponent + 1;
shouldBeEqualToString(sample + '.value', stepExponent >= 7 ? digit + "e-" + stepExponent : value);
shouldBe(sample + '.valueAsNumber', value);
}
zeros += "0";
}
// Remove generated sliders.
document.getElementById("sliders").innerHTML = "";
</script>
</body>