Index: third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html |
index 5af7ffae6a23b8740005598d70d856c1ce9423fd..93effa6fe1b45cb56ef4e8af0374c579bfa85e55 100644 |
--- a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html |
+++ b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-avtracks.html |
@@ -17,25 +17,14 @@ |
sourceBuffer.appendBuffer(initSegment); |
test.waitForExpectedEvents(function() |
{ |
- // TODO(servolk): Find a way to make tests more concise in JS |
- assert_equals(mediaElement.videoTracks.length, 1, "videoTracks.length"); |
- assert_equals(mediaElement.videoTracks[0].id, "1", "videoTrack.id"); |
- assert_equals(mediaElement.videoTracks[0].kind, "main", "videoTrack.kind"); |
- assert_equals(mediaElement.videoTracks[0].label, "", "videoTrack.label"); |
- assert_equals(mediaElement.videoTracks[0].language, "eng", "videoTrack.language"); |
- |
- assert_equals(mediaElement.audioTracks.length, 1, "audioTracks.length"); |
- assert_equals(mediaElement.audioTracks[0].id, "2", "audioTrack.id"); |
- assert_equals(mediaElement.audioTracks[0].kind, "main", "audioTrack.kind"); |
- assert_equals(mediaElement.audioTracks[0].label, "", "audioTrack.label"); |
- assert_equals(mediaElement.audioTracks[0].language, "eng", "audioTrack.language"); |
- |
assert_equals(sourceBuffer.videoTracks.length, 1, "videoTracks.length"); |
assert_equals(sourceBuffer.videoTracks[0].id, "1", "videoTrack.id"); |
assert_equals(sourceBuffer.videoTracks[0].kind, "main", "videoTrack.kind"); |
assert_equals(sourceBuffer.videoTracks[0].label, "", "videoTrack.label"); |
assert_equals(sourceBuffer.videoTracks[0].language, "eng", "videoTrack.language"); |
assert_equals(sourceBuffer.videoTracks[0].sourceBuffer, sourceBuffer, "videoTrack.sourceBuffer"); |
+ // The first video track is selected by default. |
+ assert_true(sourceBuffer.videoTracks[0].selected, "sourceBuffer.videoTracks[0].selected"); |
assert_equals(sourceBuffer.audioTracks.length, 1, "audioTracks.length"); |
assert_equals(sourceBuffer.audioTracks[0].id, "2", "audioTrack.id"); |
@@ -43,10 +32,48 @@ |
assert_equals(sourceBuffer.audioTracks[0].label, "", "audioTrack.label"); |
assert_equals(sourceBuffer.audioTracks[0].language, "eng", "audioTrack.language"); |
assert_equals(sourceBuffer.audioTracks[0].sourceBuffer, sourceBuffer, "audioTrack.sourceBuffer"); |
+ // The first audio track is enabled by default. |
+ assert_true(sourceBuffer.audioTracks[0].enabled, "sourceBuffer.audioTracks[0].enabled"); |
+ |
+ assert_equals(mediaElement.videoTracks.length, 1, "videoTracks.length"); |
+ assert_equals(mediaElement.videoTracks[0], sourceBuffer.videoTracks[0], "mediaElement.videoTrack == sourceBuffer.videoTrack"); |
+ |
+ assert_equals(mediaElement.audioTracks.length, 1, "audioTracks.length"); |
+ assert_equals(mediaElement.audioTracks[0], sourceBuffer.audioTracks[0], "mediaElement.audioTrack == sourceBuffer.audioTrack"); |
+ |
+ test.done(); |
+ }); |
+ }, "MediaSource media track properties"); |
+ mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData) |
+ { |
+ var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init); |
+ test.expectEvent(sourceBuffer, 'updateend', 'initSegment append ended.'); |
+ sourceBuffer.appendBuffer(initSegment); |
+ test.waitForExpectedEvents(function() |
+ { |
+ assert_equals(mediaElement.videoTracks.length, 1, "videoTracks.length"); |
+ assert_equals(mediaElement.audioTracks.length, 1, "audioTracks.length"); |
+ assert_equals(sourceBuffer.videoTracks.length, 1, "videoTracks.length"); |
+ assert_equals(sourceBuffer.audioTracks.length, 1, "audioTracks.length"); |
+ |
+ test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'SourceBuffer removed.'); |
+ // Removing enabled audio track and selected video track should fire 'change' events on mediaElement track lists. |
wolenetz
2016/03/31 19:06:15
Please also check for all of the HTMLME.{audio,vid
servolk
2016/03/31 22:39:51
Done.
|
+ test.expectEvent(mediaElement.audioTracks, 'change', 'mediaElement.audioTracks changed.'); |
+ test.expectEvent(mediaElement.videoTracks, 'change', 'mediaElement.videoTracks changed.'); |
+ mediaSource.removeSourceBuffer(sourceBuffer); |
+ }); |
+ |
+ test.waitForExpectedEvents(function() |
+ { |
+ assert_equals(mediaSource.sourceBuffers.length, 0, "mediaSource.sourceBuffers.length"); |
+ assert_equals(mediaElement.videoTracks.length, 0, "videoTracks.length"); |
+ assert_equals(mediaElement.audioTracks.length, 0, "audioTracks.length"); |
+ assert_equals(sourceBuffer.videoTracks.length, 0, "videoTracks.length"); |
+ assert_equals(sourceBuffer.audioTracks.length, 0, "audioTracks.length"); |
test.done(); |
}); |
- }, "MediaSource audio tracks"); |
+ }, "MediaSource media tracks must be removed when a SourceBuffer is removed"); |
</script> |
</body> |
</html> |