60 lines
1.8 KiB
HTML
60 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
<script src="resources/audio-testing.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Basic tests for AudioBuffer.");
|
|
|
|
var sampleRate = 44100.0
|
|
var lengthInSeconds = 2;
|
|
var numberOfChannels = 4;
|
|
|
|
var context = new AudioContext();
|
|
var buffer = context.createBuffer(numberOfChannels, sampleRate * lengthInSeconds, sampleRate);
|
|
|
|
if (buffer.sampleRate === sampleRate)
|
|
testPassed("sampleRate has been set correctly.");
|
|
else
|
|
testFailed("sampleRate should be set correctly.");
|
|
|
|
if (buffer.length === sampleRate * lengthInSeconds)
|
|
testPassed("length has been set correctly.");
|
|
else
|
|
testFailed("length should be set correctly");
|
|
|
|
if (buffer.duration === lengthInSeconds)
|
|
testPassed("duration has been set correctly.");
|
|
else
|
|
testFailed("duration should be set correctly.");
|
|
|
|
if (buffer.numberOfChannels === numberOfChannels)
|
|
testPassed("numberOfChannels has been set correctly.");
|
|
else
|
|
testFailed("numberOfChannels should be set correctly.");
|
|
|
|
for (var index = 0; index < buffer.numberOfChannels; ++index) {
|
|
if (buffer.getChannelData(index) instanceof window.Float32Array)
|
|
testPassed("getChannelData(" + index + ") returns a Float32Array object.");
|
|
else
|
|
testFailed("getChannelData(" + index + ") should return a Float32Array object.");
|
|
}
|
|
|
|
try {
|
|
buffer.getChannelData(buffer.numberOfChannels);
|
|
testFailed("Exception should be thrown when index is not less than numberOfChannels.");
|
|
} catch(e) {
|
|
testPassed("Exception has been thrown correctly when index is not less than numberOfChannels.");
|
|
}
|
|
|
|
shouldBeUndefined("buffer.gain");
|
|
shouldBeUndefined("AudioBuffer.prototype.gain");
|
|
|
|
</script>
|
|
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|