diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html new file mode 100644 index 0000000000..c924c92da9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<title>'addtrack' event is fired when a TextTrack is created</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +async_test(function(t) { + var video = document.createElement('video'); + + var trackElement = document.createElement('track'); + video.appendChild(trackElement); + var tracks = []; + tracks.push(trackElement.track); + + // Register the 'addtrack' listener after creating the element + // to make sure the event is dispatched asynchronously. + video.textTracks.onaddtrack = t.step_func(function(event) { + assert_equals(event.target, video.textTracks); + assert_true(event instanceof TrackEvent, 'instanceof'); + assert_equals(event.track, tracks[video.textTracks.length - 1]); + + if (video.textTracks.length == 1) { + tracks.push(video.addTextTrack('captions', 'Caption Track', 'en')); + assert_equals(video.textTracks.length, 2); + } else { + t.done(); + } + }); + + trackElement.src = 'resources/webvtt-file.vtt'; + trackElement.track.mode = 'hidden'; + assert_equals(video.textTracks.length, 1); + assert_equals(trackElement.readyState, HTMLTrackElement.NONE); +}); +</script> |