Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html b/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html |
| index 99395e91efa0b6372e76a81e00250a66c3b742a0..010e32a380f7fa2d04942cc96adfcd5d43e7a138 100644 |
| --- a/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html |
| +++ b/third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html |
| @@ -3,58 +3,82 @@ |
| <script src=../../resources/testharnessreport.js></script> |
| <script> |
|
Peter Beverloo
2015/11/20 14:05:02
dito re: comment
ajose
2015/11/20 21:37:06
Done.
|
| -var test = async_test('checks requestData() for video-only MediaRecorder API.'); |
| -var recorder; |
| - |
| -recorderOnDataAvailable = test.step_func(function(event) { |
| - assert_equals(event.data.size, 0, 'Recorded data size should be == 0'); |
| - test.done(); |
| -}); |
| - |
| -recorderOnStop = test.step_func(function() { |
| - assert_unreached('Recording stopped.'); |
| -}); |
| - |
| -recorderOnError = test.step_func(function() { |
| - assert_unreached('Recording error.'); |
| -}); |
| - |
| -gotStream = test.step_func(function(stream) { |
| - assert_equals(stream.getAudioTracks().length, 0); |
| - assert_equals(stream.getVideoTracks().length, 1); |
| - assert_equals(stream.getVideoTracks()[0].readyState, 'live'); |
| - |
| - try { |
| - recorder = new MediaRecorder(stream); |
| - } catch (e) { |
| - assert_unreached('Exception while creating MediaRecorder: ' + e); |
| +var checkStreamTracks = function(stream, has_video, has_audio) { |
| + if (has_video) { |
| + assert_equals(stream.getVideoTracks().length, 1); |
| + assert_equals(stream.getVideoTracks()[0].readyState, 'live'); |
| + } else { |
| + assert_equals(stream.getVideoTracks().length, 0); |
| } |
| - assert_equals(recorder.state, "inactive"); |
| - try { |
| - recorder.requestData(); |
| - assert_unreached(); |
| - } catch (e) { |
| - assert_equals(e.name, "InvalidStateError"); |
| + if (has_audio) { |
| + assert_equals(stream.getAudioTracks().length, 1); |
| + assert_equals(stream.getAudioTracks()[0].readyState, 'live'); |
| + } else { |
| + assert_equals(stream.getAudioTracks().length, 0); |
| } |
| +}; |
| - recorder.ondataavailable = recorderOnDataAvailable; |
| - recorder.onstop = recorderOnStop; |
| - recorder.onerror = recorderOnError; |
| - recorder.start(); |
| +var makeAsyncTest = function(value, expected) { |
| + var recorder; |
| + var has_video = value['video'] || false; |
| + var has_audio = value['audio'] || false; |
| - assert_equals(recorder.state, "recording"); |
| - recorder.requestData(); |
| -}); |
| + async_test(function() { |
| + recorderOnDataAvailable = this.step_func_done(function(event) { |
|
Peter Beverloo
2015/11/20 14:05:02
dito re: constness
ajose
2015/11/20 21:37:06
Done.
|
| + assert_equals(event.data.size, 0, |
| + 'Recorded data size should be == 0'); |
| + }); |
| -onError = test.step_func(function() { |
| - assert_unreached('Error creating MediaRecorder.'); |
| -}); |
| + recorderOnStop = this.step_func(function() { |
| + assert_unreached('Recording stopped.'); |
| + }); |
| -try { |
| - navigator.webkitGetUserMedia({video:true}, gotStream, onError); |
| -} catch(e) { |
| - assert_unreached('Exception launching getUserMedia(): ' + e); |
| -} |
| + recorderOnError = this.step_func(function() { |
| + assert_unreached('Recording error.'); |
| + }); |
| + |
| + gotStream = this.step_func_done(function(stream) { |
| + checkStreamTracks(stream, has_video, has_audio) |
| + |
| + try { |
| + recorder = new MediaRecorder(stream); |
| + } catch (e) { |
| + assert_unreached('Exception while creating MediaRecorder: ' |
| + + e); |
| + } |
| + |
| + try { |
| + recorder.requestData(); |
| + assert_unreached(); |
| + } catch (e) { |
| + assert_equals(e.name, "InvalidStateError"); |
| + } |
| + |
| + recorder.ondataavailable = recorderOnDataAvailable; |
| + recorder.onstop = recorderOnStop; |
| + recorder.onerror = recorderOnError; |
| + recorder.start(); |
| + |
| + assert_equals(recorder.state, "recording"); |
| + recorder.requestData(); |
| + }); |
| + |
| + onError = this.step_func(function() { |
| + assert_unreached('Error creating MediaRecorder.'); |
| + }); |
| + |
| + try { |
| + navigator.webkitGetUserMedia(value, gotStream, onError); |
| + } catch(e) { |
| + assert_unreached('Exception launching getUserMedia(): ' + e); |
| + } |
| + }); |
| +}; |
| + |
| +generate_tests(makeAsyncTest, |
| + [["video-only", {video:true}], |
|
Peter Beverloo
2015/11/20 14:05:02
dito re: values
ajose
2015/11/20 21:37:07
Done.
|
| + ["audio-only", {audio:true}], |
| + ["audio-video", {video:true, audio:true}]]); |
| </script> |