blob: 594e1121b005ea3cd7ef1f30aa15fbed07dff1a4 [file] [log] [blame]
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
'use strict';
// https://w3c.github.io/mediacapture-main/
idl_test(
['mediacapture-streams'],
['dom', 'html'],
async idl_array => {
const inputDevices = [];
const outputDevices = [];
try {
const list = await navigator.mediaDevices.enumerateDevices();
for (const device of list) {
if (device.kind in self) {
continue;
}
assert_in_array(device.kind, ['audioinput', 'videoinput', 'audiooutput']);
self[device.kind] = device;
if (device.kind.endsWith('input')) {
inputDevices.push(device.kind);
} else {
outputDevices.push(device.kind);
}
}
} catch (e) {}
try {
self.stream = await navigator.mediaDevices.getUserMedia({audio: true});
self.track = stream.getTracks()[0];
self.trackEvent = new MediaStreamTrackEvent("type", {
track: track,
});
} catch (e) {}
idl_array.add_objects({
InputDeviceInfo: inputDevices,
MediaStream: ['stream', 'new MediaStream()'],
Navigator: ['navigator'],
MediaDevices: ['navigator.mediaDevices'],
MediaDeviceInfo: outputDevices,
MediaStreamTrack: ['track'],
MediaStreamTrackEvent: ['trackEvent'],
});
}
);