<!doctype html>
<title>Float precision of VTTCue attributes line, position and size</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script>
test(function() {
    var cue = new VTTCue(0, 1, 'text');

    // Assign a value which is exactly representable as double but not float.
    var doubleValue = 1.000000000000004;
    cue.line = doubleValue;
    assert_equals(cue.line, doubleValue);
    cue.position = doubleValue;
    assert_equals(cue.position, doubleValue);
    cue.size = doubleValue;
    assert_equals(cue.size, doubleValue);

    // Assign a value which is exactly representable as float but is non-integral.
    var floatValue = 1.5;
    cue.line = floatValue;
    assert_equals(cue.line, floatValue);
    cue.position = floatValue;
    assert_equals(cue.position, floatValue);
    cue.size = floatValue;
    assert_equals(cue.size, floatValue);
}, document.title+', stored as floats');
</script>
