mirror of
https://github.com/servo/servo.git
synced 2025-08-21 13:25:34 +01:00
Update web-platform-tests to revision 60220357131c65146444da1f54624d5b54d0975d
This commit is contained in:
parent
c45192614c
commit
775b784f79
2144 changed files with 58115 additions and 29658 deletions
|
@ -0,0 +1,60 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
|
||||
'use strict';
|
||||
|
||||
// https://w3c.github.io/mediacapture-main/
|
||||
|
||||
|
||||
promise_test(async () => {
|
||||
const srcs = ['mediacapture-streams','dom','html'];
|
||||
const [idl, dom, html] = await Promise.all(
|
||||
srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
|
||||
|
||||
const idl_array = new IdlArray();
|
||||
idl_array.add_idls(idl);
|
||||
idl_array.add_dependency_idls(html);
|
||||
idl_array.add_dependency_idls(dom);
|
||||
|
||||
let input, media;
|
||||
// Errors will be surfaced in idlharness.js's test_object below.
|
||||
try {
|
||||
const list = await navigator.mediaDevices.enumerateDevices();
|
||||
for (const item of list) {
|
||||
switch (item.kind) {
|
||||
case 'audioinput':
|
||||
case 'videoinput':
|
||||
input = item;
|
||||
case 'audiooutput':
|
||||
media = item;
|
||||
default:
|
||||
assert_unreached(
|
||||
'media.kind should be one of "audioinput", "videoinput", or "audiooutput".');
|
||||
}
|
||||
}
|
||||
} catch (e) {}
|
||||
|
||||
let track, trackEvent;
|
||||
try {
|
||||
const stream = await navigator.mediaDevices.getUserMedia({audio: true});
|
||||
track = stream.getTracks()[0];
|
||||
trackEvent = new MediaStreamTrackEvent("type", {
|
||||
track: track,
|
||||
});
|
||||
} catch (e) { throw e}
|
||||
|
||||
if (input) {
|
||||
idl_array.add_objects({ InputDeviceInfo: [input] });
|
||||
} else {
|
||||
idl_array.add_objects({ MediaDeviceInfo: [media] });
|
||||
}
|
||||
idl_array.add_objects({
|
||||
MediaStream: ['new MediaStream()'],
|
||||
Navigator: ['navigator'],
|
||||
MediaDevices: ['navigator.mediaDevices'],
|
||||
MediaStreamTrack: [track],
|
||||
MediaStreamTrackEvent: [trackEvent],
|
||||
OverconstrainedErrorEvent: ['new OverconstrainedErrorEvent("type", {})'],
|
||||
});
|
||||
idl_array.test();
|
||||
}, 'mediacapture-streams interfaces.');
|
Loading…
Add table
Add a link
Reference in a new issue