blob: 2a7ddb2b51bbe133ef510efa50a309d7dcddc217 [file] [log] [blame]
<!DOCTYPE html>
<!--
This is a very basic test to make sure testRunner.setAudioResult() works correctly.
It generates a 2 seconds long stereo result @44.1KHz
The left channel will be a 880Hz tone, while the right will be 440Hz.
-->
<html>
<head>
<script src="../resources/js-test.js"></script>
<script type="text/javascript" src="resources/audio-testing.js"></script>
</head>
<body>
<div id="description"></div>
<div id="console"></div>
<script>
description("Tests basic audio test infrastructure: specifically testRunner.setAudioResult()");
var sampleRate = 44100.0;
var lengthInSeconds = 2;
function generateSinWave(audioBuffer) {
var n = audioBuffer.length;
var channelL = audioBuffer.getChannelData(0);
var channelR = audioBuffer.getChannelData(1);
var sampleRate = audioBuffer.sampleRate;
for (var i = 0; i < n; ++i) {
channelL[i] = Math.sin(880.0 * 2.0*Math.PI * i / sampleRate);
channelR[i] = Math.sin(440.0 * 2.0*Math.PI * i / sampleRate);
}
}
function runTest() {
if (!window.testRunner)
return;
var context = new AudioContext();
var audioBuffer = context.createBuffer(2, lengthInSeconds * sampleRate, sampleRate);
generateSinWave(audioBuffer);
var audioData = createAudioData(audioBuffer);
testRunner.setAudioResult(audioData);
}
runTest();
</script>
<body>
</body>
</html>