chromium/third_party/blink/web_tests/external/wpt/webvtt/parsing/file-parsing/tests/settings-region.html

<!doctype html>
<!-- DO NOT EDIT! This file and support/settings-region.vtt are generated. -->
<!-- See /webvtt/parsing/file-parsing/README.md -->
<meta charset=utf-8>
<title>WebVTT parser test: settings, region</title>
<link rel="help" href="https://w3c.github.io/webvtt/#collect-webvtt-cue-timings-and-settings">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script>
var t = async_test('settings, region');
t.step(function(){
    var video = document.createElement('video');
    var track = document.createElement('track');
    assert_true('src' in track, 'track element not supported');
    track.src = 'support/settings-region.vtt';
    track['default'] = true;
    track.kind = 'subtitles';
    track.onload = this.step_func(trackLoaded);
    track.onerror = this.step_func(trackError);
    video.appendChild(track);
    document.body.appendChild(video);
});

function trackLoaded(event) {
    var track = event.target;
    var video = track.parentNode;
    var cues = video.textTracks[0].cues;
    {
assert_equals(cues.length, 9);

var fooRegion = cues[0].region;
assert_true(!!fooRegion, 'Cue 0 has invalid region');

var barRegion = cues[1].region;
assert_true(!!barRegion, 'Cue 1 has invalid region');

assert_not_equals(fooRegion, barRegion);

var valid_regions = [
    fooRegion,
    barRegion,
    barRegion,
    null,
    fooRegion
];
valid_regions.forEach(function(valid, index) {
    assert_equals(cues[index].region, valid, 'Failed with cue ' + index);
});

for (var i = 0; i < 4; i++) {
    var index = valid_regions.length + i;

    assert_equals(cues[index].region, null);
}

    }
    this.done();
}

function trackError(e) {
    assert_unreached('got unexpected error event');
}
</script>