Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/mediastream/MediaStreamTrack-contentHint.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/mediastream/MediaStreamTrack-contentHint.html b/third_party/WebKit/LayoutTests/fast/mediastream/MediaStreamTrack-contentHint.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..bd726964b3129d8795b6d12a59554097004b46fd |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/mediastream/MediaStreamTrack-contentHint.html |
| @@ -0,0 +1,108 @@ |
| +<!DOCTYPE HTML> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<canvas id="canvas"/> |
|
esprehn
2016/12/09 02:30:09
</canvas>
/ does nothing on a tag, this is actual
pbos
2016/12/09 17:34:46
Done.
|
| +<script> |
| + |
| +createAudioTrack = function() { |
|
esprehn
2016/12/09 02:30:09
function createAudioTrack
pbos
2016/12/09 17:34:46
Done.
|
| + ac = new AudioContext(); |
| + var osc = ac.createOscillator(); |
| + var dest = ac.createMediaStreamDestination(); |
| + osc.connect(dest); |
| + audio_track = dest.stream.getAudioTracks()[0]; |
| + |
| + assert_equals(audio_track.kind, "audio"); |
| + return audio_track; |
| +} |
| + |
| +createVideoTrack = function() { |
|
esprehn
2016/12/09 02:30:09
ditto
pbos
2016/12/09 17:34:46
Done.
|
| + canvas = document.getElementById("canvas"); |
| + video_track = canvas.captureStream().getVideoTracks()[0]; |
| + |
| + assert_equals(video_track.kind, "video"); |
| + return video_track; |
| +} |
| + |
| +test(t => { |
| + audio_track = createAudioTrack(); |
| + assert_equals("", audio_track.contentHint); |
| + |
| + video_track = createVideoTrack(); |
| + assert_equals("", video_track.contentHint); |
| +}, "Tracks have empty default content hint"); |
| + |
| +test(t => { |
| + audio_track = createAudioTrack(); |
| + audio_track.contentHint = "speech"; |
| + assert_equals(audio_track.contentHint, "speech"); |
| + audio_track.contentHint = "music"; |
| + assert_equals(audio_track.contentHint, "music"); |
| + audio_track.contentHint = ""; |
| + assert_equals(audio_track.contentHint, ""); |
| +}, "Accepts valid audio contentHints"); |
| + |
| +test(t => { |
| + audio_track = createAudioTrack(); |
| + audio_track.contentHint = "speech"; |
| + assert_equals(audio_track.contentHint, "speech"); |
| + audio_track.contentHint = "fluid"; |
| + assert_equals(audio_track.contentHint, "speech", |
| + "Audio tracks should ignore video-only contentHints."); |
| + audio_track.contentHint = "bogus"; |
| + assert_equals(audio_track.contentHint, "speech", |
| + "Audio tracks should ignore garbage contentHints"); |
| +}, "Audio tracks ignore invalid/video contentHints"); |
| + |
| +test(t => { |
| + video_track = createVideoTrack(); |
| + video_track.contentHint = "fluid"; |
| + assert_equals(video_track.contentHint, "fluid"); |
| + video_track.contentHint = "detailed"; |
| + assert_equals(video_track.contentHint, "detailed"); |
| + video_track.contentHint = ""; |
| + assert_equals(video_track.contentHint, ""); |
| +}, "Accepts valid video contentHints"); |
| + |
| +test(t => { |
| + video_track = createVideoTrack(); |
| + video_track.contentHint = "fluid"; |
| + assert_equals(video_track.contentHint, "fluid"); |
| + video_track.contentHint = "speech"; |
| + assert_equals(video_track.contentHint, "fluid", |
| + "Video tracks should ignore audio-only contentHints."); |
| + video_track.contentHint = "bogus"; |
| + assert_equals(video_track.contentHint, "fluid", |
| + "Video tracks should ignore garbage contentHints"); |
| +}, "Video tracks ignore invalid/audio contentHints"); |
| + |
| +test(t => { |
| + video_track = createVideoTrack(); |
| + video_track.contentHint = "fluid"; |
| + assert_equals(video_track.contentHint, "fluid"); |
| + |
| + // Cloning a track should preserve contentHint. |
| + video_track_clone = video_track.clone(); |
| + assert_equals(video_track_clone.contentHint, "fluid"); |
| + |
| + // Changing a cloned track's contentHint should not change the original. |
| + video_track_clone.contentHint = "detailed"; |
| + assert_equals(video_track_clone.contentHint, "detailed"); |
| + assert_equals(video_track.contentHint, "fluid"); |
| +}, "Cloned video tracks have separate contentHints"); |
| + |
| +test(t => { |
| + audio_track = createAudioTrack(); |
| + audio_track.contentHint = "speech"; |
| + assert_equals(audio_track.contentHint, "speech"); |
| + |
| + // Cloning a track should preserve contentHint. |
| + audio_track_clone = audio_track.clone(); |
| + assert_equals(audio_track_clone.contentHint, "speech"); |
| + |
| + // Changing a cloned track's contentHint should not change the original. |
| + audio_track_clone.contentHint = "music"; |
| + assert_equals(audio_track_clone.contentHint, "music"); |
| + assert_equals(audio_track.contentHint, "speech"); |
| +}, "Cloned audio tracks have separate contentHints"); |
| + |
| +</script> |