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