| Index: LayoutTests/fast/mediarecorder/MediaRecorder-creation.html
|
| diff --git a/LayoutTests/fast/mediarecorder/MediaRecorder-creation.html b/LayoutTests/fast/mediarecorder/MediaRecorder-creation.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f6e32d45869b669d624276c5f57bb03cf8cded81
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/mediarecorder/MediaRecorder-creation.html
|
| @@ -0,0 +1,59 @@
|
| +<!DOCTYPE html>
|
| +<script src=../../resources/testharness.js></script>
|
| +<script src=../../resources/testharnessreport.js></script>
|
| +<script>
|
| +// This test verifies that MediaRecorder can be created with different Media
|
| +// Stream Track combinations: 1 Video Track only, 1 Audio Track only and finally
|
| +// a Media Stream with both a Video and an Audio Track. Note that recording is
|
| +// _not_ started in this test, see MediaRecorder-basic-video.html for it.
|
| +
|
| +function makeAsyncTest(constraints, verifyStream, message) {
|
| + return async_test(function(test) {
|
| +
|
| + var gotStream = test.step_func(function(stream) {
|
| + verifyStream(stream);
|
| +
|
| + try {
|
| + recorder = new MediaRecorder(stream);
|
| + } catch (e) {
|
| + assert_unreached('Exception while creating MediaRecorder: ' + e);
|
| + }
|
| + assert_equals(recorder.state, "inactive");
|
| + test.done();
|
| + });
|
| +
|
| + var onError = test.step_func(function() {
|
| + assert_unreached('Error creating MediaRecorder.');
|
| + });
|
| +
|
| + try {
|
| + navigator.webkitGetUserMedia(constraints, gotStream, onError);
|
| + } catch(e) {
|
| + assert_unreached('Exception launching getUserMedia(): ' + e);
|
| + }
|
| + }, message);
|
| +}
|
| +
|
| +function verifyVideoOnlyStream(stream) {
|
| + assert_equals(stream.getAudioTracks().length, 0);
|
| + assert_equals(stream.getVideoTracks().length, 1);
|
| + assert_equals(stream.getVideoTracks()[0].readyState, 'live');
|
| +}
|
| +function verifyAudioOnlyStream(stream) {
|
| + assert_equals(stream.getAudioTracks().length, 1);
|
| + assert_equals(stream.getVideoTracks().length, 0);
|
| + assert_equals(stream.getAudioTracks()[0].readyState, 'live');
|
| +}
|
| +function verifyAudioVideoStream(stream) {
|
| + assert_equals(stream.getAudioTracks().length, 1);
|
| + assert_equals(stream.getVideoTracks().length, 1);
|
| + assert_equals(stream.getVideoTracks()[0].readyState, 'live');
|
| + assert_equals(stream.getAudioTracks()[0].readyState, 'live');
|
| +}
|
| +
|
| +// Note: webkitGetUserMedia() must be called with at least video or audio true.
|
| +makeAsyncTest({video:true}, verifyVideoOnlyStream, 'Video only MediaRecorder');
|
| +makeAsyncTest({audio:true}, verifyAudioOnlyStream, 'Audio only MediaRecorder');
|
| +makeAsyncTest({audio:true, video:true}, verifyAudioVideoStream, 'Video and Audio MediaRecorder');
|
| +
|
| +</script>
|
|
|