mirror of
https://github.com/servo/servo.git
synced 2025-08-22 13:55:34 +01:00
Update web-platform-tests to revision d5be80a86d4f938250c075ac12414ad47516969c
This commit is contained in:
parent
bb2c5e387f
commit
463b6d3b60
32 changed files with 454 additions and 43 deletions
|
@ -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
|
||||
}
|
||||
];
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
Loading…
Add table
Add a link
Reference in a new issue