Update web-platform-tests to revision d5be80a86d4f938250c075ac12414ad47516969c

This commit is contained in:
WPT Sync Bot 2018-11-08 21:03:14 -05:00
parent bb2c5e387f
commit 463b6d3b60
32 changed files with 454 additions and 43 deletions

View file

@ -61,6 +61,13 @@
extraArgs: RENDER_QUANTUM_FRAMES / context.sampleRate,
outputTestFrame: 4 * RENDER_QUANTUM_FRAMES,
expectedOutputValue: 4
},
{
event: 'setValueAtTime',
frame: 5 * RENDER_QUANTUM_FRAMES - 1,
values: [99, 1, 5],
outputTestFrame: 5 * RENDER_QUANTUM_FRAMES,
expectedOutputValue: 5
}
];

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html>
<head>
<title>
Test if MediaElementAudioSourceNode works for cross-origin redirects with
"cors" request mode.
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webaudio/resources/audit.js"></script>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body>
<script id="layout-test-code">
const audit = Audit.createTaskRunner();
const context = new AudioContext();
context.suspend();
const host_info = get_host_info();
const audioElement = document.createElement('audio');
audioElement.loop = true;
audioElement.crossOrigin = 'anonymous';
const wav =
host_info.HTTPS_ORIGIN + '/webaudio/resources/4ch-440.wav?' +
'pipe=header(access-control-allow-origin,*)';
audioElement.src =
host_info.HTTPS_REMOTE_ORIGIN +
'/fetch/api/resources/redirect.py?location=' +
encodeURIComponent(wav);
let source;
let workletRecorder;
audit.define(
{label: 'setting-up-graph'},
(task, should) => {
source = new MediaElementAudioSourceNode(context, {
mediaElement: audioElement
});
workletRecorder = new AudioWorkletNode(
context, 'recorder-processor', {channelCount: 4});
source.connect(workletRecorder).connect(context.destination);
task.done();
});
// The recorded data from MESN must be non-zero. The source file contains
// 4 channels of sine wave.
audit.define(
{label: 'start-playback-and-capture'},
(task, should) => {
workletRecorder.port.onmessage = (event) => {
if (event.data.type === 'recordfinished') {
for (let i = 0; i < event.data.recordBuffer.length; ++i) {
const channelData = event.data.recordBuffer[i];
should(channelData, `Recorded channel #${i}`)
.notBeConstantValueOf(0);
}
}
task.done();
};
context.resume();
audioElement.play();
});
Promise.all([
context.audioWorklet.addModule('/webaudio/js/worklet-recorder.js')
]).then(() => {
audit.run();
});
</script>
</body>
</html>

View file

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>
<head>
<title>
Test if MediaElementAudioSourceNode works for cross-origin redirects with
"no-cors" request mode.
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webaudio/resources/audit.js"></script>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body>
<script id="layout-test-code">
const audit = Audit.createTaskRunner();
const context = new AudioContext();
context.suspend();
const host_info = get_host_info();
const audioElement = document.createElement('audio');
audioElement.loop = true;
const wav =
host_info.HTTPS_ORIGIN + '/webaudio/resources/4ch-440.wav?' +
'pipe=header(access-control-allow-origin,*)';
audioElement.src =
host_info.HTTPS_REMOTE_ORIGIN +
'/fetch/api/resources/redirect.py?location=' +
encodeURIComponent(wav);
let source;
let workletRecorder;
audit.define(
{label: 'setting-up-graph'},
(task, should) => {
source = new MediaElementAudioSourceNode(context, {
mediaElement: audioElement
});
workletRecorder = new AudioWorkletNode(
context, 'recorder-processor', {channelCount: 4});
source.connect(workletRecorder).connect(context.destination);
task.done();
});
// The recorded data from MESN must be non-zero. The source file contains
// 4 channels of sine wave.
audit.define(
{label: 'start-playback-and-capture'},
(task, should) => {
workletRecorder.port.onmessage = (event) => {
if (event.data.type === 'recordfinished') {
for (let i = 0; i < event.data.recordBuffer.length; ++i) {
const channelData = event.data.recordBuffer[i];
should(channelData, `Recorded channel #${i}`)
.beConstantValueOf(0);
}
}
task.done();
};
context.resume();
audioElement.play();
});
Promise.all([
context.audioWorklet.addModule('/webaudio/js/worklet-recorder.js')
]).then(() => {
audit.run();
});
</script>
</body>
</html>