mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 04:27:37 +00:00
09a262787c
We are white-listing the existing set of tests that use setTimeout like this. Hopefully these tests will be investigated and fixed in the future, so that we can narrow down the white-list. This check is only turned on for mochitest-plain for now.
43 lines
1.4 KiB
HTML
43 lines
1.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test ScriptProcessorNode playbackTime for bug 970773</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SimpleTest.requestFlakyTimeout("This test needs to wait until after the AudioContext's timer has started.");
|
|
addLoadEvent(
|
|
function() {
|
|
const delay = 0.1;
|
|
var context = new AudioContext();
|
|
SimpleTest.executeSoon( // to ensure that AudioContext has started
|
|
function() {
|
|
setTimeout( // wait for |delay|
|
|
function() {
|
|
var sp = context.createScriptProcessor(256);
|
|
sp.connect(context.destination);
|
|
sp.onaudioprocess =
|
|
function(e) {
|
|
var minimum =
|
|
(delay + e.inputBuffer.length/context.sampleRate) *
|
|
(1.0 - 1.0/Math.pow(2.0,52.0)); // double precision
|
|
ok(e.playbackTime >= minimum,
|
|
"playbackTime " + e.playbackTime +
|
|
" beyond expected minimum " + minimum);
|
|
sp.onaudioprocess = null;
|
|
SimpleTest.finish();
|
|
};
|
|
}, 1000 * delay);
|
|
});
|
|
});
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|