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 requestData() for video-only MediaRecorder API.'); | 6 var test = async_test('checks requestData() for audio-only 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 assert_equals(event.data.size, 0, 'Recorded data size should be == 0'); | 10 assert_equals(event.data.size, 0, 'Recorded data size should be == 0'); |
11 test.done(); | 11 test.done(); |
12 }); | 12 }); |
13 | 13 |
14 recorderOnStop = test.step_func(function() { | 14 recorderOnStop = test.step_func(function() { |
15 assert_unreached('Recording stopped.'); | 15 assert_unreached('Recording stopped.'); |
16 }); | 16 }); |
17 | 17 |
18 recorderOnError = test.step_func(function() { | 18 recorderOnError = test.step_func(function() { |
19 assert_unreached('Recording error.'); | 19 assert_unreached('Recording error.'); |
20 }); | 20 }); |
21 | 21 |
22 gotStream = test.step_func(function(stream) { | 22 gotStream = test.step_func(function(stream) { |
23 assert_equals(stream.getAudioTracks().length, 0); | 23 assert_equals(stream.getVideoTracks().length, 0); |
24 assert_equals(stream.getVideoTracks().length, 1); | 24 assert_equals(stream.getAudioTracks().length, 1); |
25 assert_equals(stream.getVideoTracks()[0].readyState, 'live'); | 25 assert_equals(stream.getAudioTracks()[0].readyState, 'live'); |
26 | 26 |
27 try { | 27 try { |
28 recorder = new MediaRecorder(stream); | 28 recorder = new MediaRecorder(stream); |
29 } catch (e) { | 29 } catch (e) { |
30 assert_unreached('Exception while creating MediaRecorder: ' + e); | 30 assert_unreached('Exception while creating MediaRecorder: ' + e); |
31 } | 31 } |
32 assert_equals(recorder.state, "inactive"); | 32 assert_equals(recorder.state, "inactive"); |
33 | 33 |
34 try { | 34 try { |
35 recorder.requestData(); | 35 recorder.requestData(); |
36 assert_unreached(); | 36 assert_unreached(); |
37 } catch (e) { | 37 } catch (e) { |
38 assert_equals(e.name, "InvalidStateError"); | 38 assert_equals(e.name, "InvalidStateError"); |
39 } | 39 } |
40 | 40 |
41 recorder.ondataavailable = recorderOnDataAvailable; | 41 recorder.ondataavailable = recorderOnDataAvailable; |
42 recorder.onstop = recorderOnStop; | 42 recorder.onstop = recorderOnStop; |
43 recorder.onerror = recorderOnError; | 43 recorder.onerror = recorderOnError; |
44 recorder.start(); | 44 recorder.start(); |
45 | 45 |
46 assert_equals(recorder.state, "recording"); | 46 assert_equals(recorder.state, "recording"); |
47 recorder.requestData(); | 47 recorder.requestData(); |
48 }); | 48 }); |
49 | 49 |
50 onError = test.step_func(function() { | 50 onError = test.step_func(function() { |
51 assert_unreached('Error creating MediaRecorder.'); | 51 assert_unreached('Error creating MediaRecorder.'); |
52 }); | 52 }); |
53 | 53 |
54 try { | 54 try { |
55 navigator.webkitGetUserMedia({video:true}, gotStream, onError); | 55 navigator.webkitGetUserMedia({audio:true}, gotStream, onError); |
56 } catch(e) { | 56 } catch(e) { |
57 assert_unreached('Exception launching getUserMedia(): ' + e); | 57 assert_unreached('Exception launching getUserMedia(): ' + e); |
58 } | 58 } |
59 | 59 |
60 </script> | 60 </script> |
OLD | NEW |