зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1514016 - Rework MediaRecorder-stop tests to use async-await. r=jib
Depends on D14891 Differential Revision: https://phabricator.services.mozilla.com/D14892 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
9117cbe248
Коммит
e48df97d26
|
@ -1,7 +1,7 @@
|
|||
[MediaRecorder-stop.html]
|
||||
expected: TIMEOUT
|
||||
[MediaRecorder will stop recording and fire a stop event when stop() is called]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[MediaRecorder will stop recording and fire a stop event when all tracks are ended]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -16,35 +16,36 @@
|
|||
return canvas.captureStream();
|
||||
}
|
||||
|
||||
async_test(t => {
|
||||
promise_test(async t => {
|
||||
let video = createVideoStream();
|
||||
let recorder = new MediaRecorder(video);
|
||||
recorder.onstop = t.step_func(errorEvent => {
|
||||
assert_equals(errorEvent.type, 'stop', 'the error type should be stop');
|
||||
assert_true(errorEvent.isTrusted, 'isTrusted should be true when the event is created by C++');
|
||||
assert_equals(recorder.state, "inactive", "MediaRecorder has been stopped when all tracks are ended");
|
||||
t.done();
|
||||
});
|
||||
assert_equals(video.getVideoTracks().length, 1, "video mediastream starts with one track");
|
||||
recorder.start();
|
||||
assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
|
||||
|
||||
video.getVideoTracks()[0].stop();
|
||||
assert_equals(recorder.state, "recording", "MediaRecorder state should be recording immediately following last track ending");
|
||||
let event = await new Promise(r => recorder.onstop = r);
|
||||
|
||||
assert_equals(event.type, "stop", "the event type should be stop");
|
||||
assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
|
||||
assert_equals(recorder.state, "inactive", "MediaRecorder is inactive after stop event");
|
||||
}, "MediaRecorder will stop recording and fire a stop event when all tracks are ended");
|
||||
|
||||
async_test(t => {
|
||||
promise_test(async t => {
|
||||
let video = createVideoStream();
|
||||
let recorder = new MediaRecorder(video);
|
||||
recorder.onstop = t.step_func(errorEvent => {
|
||||
assert_equals(errorEvent.type, 'stop', 'the error type should be stop');
|
||||
assert_true(errorEvent.isTrusted, 'isTrusted should be true when the event is created by C++');
|
||||
assert_equals(recorder.state, "inactive", "MediaRecorder has been stopped when stop() is called");
|
||||
t.done();
|
||||
});
|
||||
recorder.start();
|
||||
assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
|
||||
|
||||
recorder.stop();
|
||||
assert_equals(recorder.state, "recording", "State should remain the same until stop event is fired");
|
||||
assert_equals(recorder.state, "inactive", "MediaRecorder state should be inactive immediately following stop() call");
|
||||
|
||||
let event = await new Promise (r => recorder.onstop = r);
|
||||
assert_equals(event.type, "stop", "the event type should be stop");
|
||||
assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
|
||||
assert_equals(recorder.state, "inactive", "MediaRecorder is inactive after stop event");
|
||||
}, "MediaRecorder will stop recording and fire a stop event when stop() is called");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
Загрузка…
Ссылка в новой задаче