diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html new file mode 100644 index 0000000000..930d9cbd5b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html @@ -0,0 +1,46 @@ +<!doctype html> +<title>autoplay with slow text tracks</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/media.js"></script> +<div id="log"></div> +<script> +setup({ single_test: true }); +// https://html.spec.whatwg.org/#ready-states says: +// +// HAVE_FUTURE_DATA: "the text tracks are ready". +// HAVE_ENOUGH_DATA: All the conditions described for the HAVE_FUTURE_DATA state are met, ... +// +// When the ready state of a media element whose networkState is not NETWORK_EMPTY changes, +// the user agent must follow the steps given below: +// If the new ready state is HAVE_ENOUGH_DATA +// (autoplay) +// +// So if the text tracks are not yet ready, we can't autoplay. + +var started = 0; +var numOfTests = 5; + +function createTest() { + var video = document.createElement('video'); + video.src = getVideoURI('/media/movie_5'); + video.autoplay = true; + video.muted = true; + video.controls = true; + video.onplaying = function() { + started++; + assert_equals(track.track.cues.length, 1); + if (started === numOfTests) { + done(); + } + }; + var track = document.createElement('track'); + track.src = '/media/foo.vtt?pipe=trickle(d2)'; + track.default = true; + video.appendChild(track); + document.body.appendChild(video); +} +for (var i = 0; i < numOfTests; ++i) { + createTest(); +} +</script> |