OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src=../../resources/testharness.js></script> | 2 <script src=../../resources/testharness.js></script> |
mcasas
2015/11/17 21:56:00
Hmm these three html files are quite similar, I wo
ajose
2015/11/18 03:35:27
Mind if I make this a comment on http://crbug.com/
| |
3 <script src=../../resources/testharnessreport.js></script> | 3 <script src=../../resources/testharnessreport.js></script> |
4 <script> | 4 <script> |
5 | 5 |
6 var test = async_test('checks the video-only MediaRecorder API.'); | 6 var test = async_test('checks the combined audio and video MediaRecorder API.'); |
7 var recorder; | 7 var recorder; |
8 | 8 |
9 recorderOnDataAvailable = test.step_func(function(event) { | 9 recorderOnDataAvailable = test.step_func(function(event) { |
10 if (event) { | 10 if (event) { |
11 assert_greater_than(event.data.size, 0, 'Recorded data size should be > 0' ); | 11 assert_greater_than(event.data.size, 0, 'Recorded data size should be > 0' ); |
12 assert_equals(recorder.state, "recording"); | 12 assert_equals(recorder.state, "recording"); |
13 } else { | 13 } else { |
14 assert_equals(recorder.state, "inactive"); | 14 assert_equals(recorder.state, "inactive"); |
15 } | 15 } |
16 | 16 |
17 // TODO(mcasas): Let the test record for a while. | 17 // TODO(ajose): Let the test record for a while. |
18 // TODO(mcasas): Consider storing the recorded data and playing it back. | 18 // TODO(ajose): Consider storing the recorded data and playing it back. |
19 | 19 |
20 recorder.onstop = recorderOnStopExpected; | 20 recorder.onstop = recorderOnStopExpected; |
21 recorder.stop(); | 21 recorder.stop(); |
22 }); | 22 }); |
23 | 23 |
24 recorderOnStopExpected = test.step_func(function() { | 24 recorderOnStopExpected = test.step_func(function() { |
25 test.done(); | 25 test.done(); |
26 }); | 26 }); |
27 | 27 |
28 recorderOnStopUnexpected = test.step_func(function() { | 28 recorderOnStopUnexpected = test.step_func(function() { |
29 assert_unreached('Recording stopped.'); | 29 assert_unreached('Recording stopped.'); |
30 }); | 30 }); |
31 | 31 |
32 recorderOnError = test.step_func(function() { | 32 recorderOnError = test.step_func(function() { |
33 assert_unreached('Recording error.'); | 33 assert_unreached('Recording error.'); |
34 }); | 34 }); |
35 | 35 |
36 gotStream = test.step_func(function(stream) { | 36 gotStream = test.step_func(function(stream) { |
37 assert_equals(stream.getAudioTracks().length, 0); | 37 assert_equals(stream.getAudioTracks().length, 1); |
38 assert_equals(stream.getVideoTracks().length, 1); | 38 assert_equals(stream.getVideoTracks().length, 1); |
39 assert_equals(stream.getAudioTracks()[0].readyState, 'live'); | |
39 assert_equals(stream.getVideoTracks()[0].readyState, 'live'); | 40 assert_equals(stream.getVideoTracks()[0].readyState, 'live'); |
40 | 41 |
41 try { | 42 try { |
42 recorder = new MediaRecorder(stream); | 43 recorder = new MediaRecorder(stream); |
43 } catch (e) { | 44 } catch (e) { |
44 assert_unreached('Exception while creating MediaRecorder: ' + e); | 45 assert_unreached('Exception while creating MediaRecorder: ' + e); |
45 } | 46 } |
46 | 47 |
47 assert_equals(recorder.state, "inactive"); | 48 assert_equals(recorder.state, "inactive"); |
48 recorder.ondataavailable = recorderOnDataAvailable; | 49 recorder.ondataavailable = recorderOnDataAvailable; |
49 recorder.onstop = recorderOnStopUnexpected; | 50 recorder.onstop = recorderOnStopUnexpected; |
50 recorder.onerror = recorderOnError; | 51 recorder.onerror = recorderOnError; |
51 recorder.start(); | 52 recorder.start(); |
52 | 53 |
53 assert_equals(recorder.state, "recording"); | 54 assert_equals(recorder.state, "recording"); |
54 test.done(); | 55 test.done(); |
55 }); | 56 }); |
56 | 57 |
57 onError = test.step_func(function() { | 58 onError = test.step_func(function() { |
58 assert_unreached('Error creating MediaRecorder.'); | 59 assert_unreached('Error creating MediaRecorder.'); |
59 }); | 60 }); |
60 | 61 |
61 try { | 62 try { |
62 navigator.webkitGetUserMedia({video:true}, gotStream, onError); | 63 navigator.webkitGetUserMedia({video:true, audio:true}, gotStream, onError); |
63 } catch(e) { | 64 } catch(e) { |
64 assert_unreached('Exception launching getUserMedia(): ' + e); | 65 assert_unreached('Exception launching getUserMedia(): ' + e); |
65 } | 66 } |
66 | 67 |
67 </script> | 68 </script> |
OLD | NEW |