Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: LayoutTests/fast/mediarecorder/MediaRecorder-creation.html

Issue 1336943004: Blink MediaRecorder: adding "creation" LayoutTest and reconnecting "canRecordMimeType" (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: peter's comments Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698