<!doctype html>
<title>Slow loading WebVTT file interrupted just after a cue text linebreak</title>
<script src=/media-resources/video-test.js></script>
<script>
function loadAndStall()
{
    return "http://127.0.0.1:8000/resources/load-and-stall.py";
}

function vttTrack()
{
    return "?name=../../../media/track/captions-webvtt/captions-multiline-lf.vtt&mimeType=text%2Fvtt";
}

window.onload = function()
{
    video = document.createElement('video');
    track = document.createElement('track');
    video.appendChild(track);
    track.onload = function() {
        testExpected("track.track.cues.length", 2, "===");
        testExpected("track.track.cues[0].text", 'Lorem\u000aipsum', "===");
        endTest();
    };
    track.onerror = function() {
        failTest();
    };
    track.src = loadAndStall() + vttTrack() + "&stallAt=49&stallFor=1";
    track.track.mode = "hidden";
}
</script>
<p>Slow loading WebVTT file interrupted just after a cue text linebreak.</p>
