| 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..108ad39b21c82351951a8f68cfed3c6cfccdf888
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/mediastream/MediaStreamTrack-contentHint.html
|
| @@ -0,0 +1,109 @@
|
| +<!DOCTYPE HTML>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<canvas id="canvas">
|
| +</canvas>
|
| +<script>
|
| +
|
| +function createAudioTrack() {
|
| + 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;
|
| +}
|
| +
|
| +function createVideoTrack() {
|
| + 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>
|
|
|