blob: 60e3c1460315308399757ea230aa6dcce7801af6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../fast/js/resources/js-test-pre.js"></script>
<script src="resources/audio-testing.js"></script>
</head>
<body>
<div id="description"></div>
<div id="console"></div>
<script>
description("Basic tests for BiquadFilterNode.");
var context = 0;
function runTest() {
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.jsTestIsAsync = true;
context = new webkitAudioContext();
var filter = context.createBiquadFilter();
if (filter.numberOfInputs === 1)
testPassed("BiquadFilterNode has one iutput.");
else
testFailed("BiquadFilterNode should have one iutput.");
if (filter.numberOfOutputs === 1)
testPassed("BiquadFilterNode has one output.");
else
testFailed("BiquadFilterNode should have one output.");
if (filter.type === filter.LOWPASS)
testPassed("Biquad filter defaults to low-pass filter.");
else
testFailed("Biquad filter should default to low-pass filter.");
// Check that all legal filter types can be set.
var filterTypeArray = [filter.LOWPASS,
filter.HIGHPASS,
filter.BANDPASS,
filter.LOWSHELF,
filter.HIGHSHELF,
filter.PEAKING,
filter.NOTCH,
filter.ALLPASS];
for (var i = 0; i < filterTypeArray.length; ++i) {
try {
filter.type = filterTypeArray[i];
if (filter.type === filterTypeArray[i] && filterTypeArray[i] === i) {
var message = "Biquad filter type " + i + " is settable.";
testPassed(message);
} else {
var message = "Biquad filter type " + i + " was not correctly set.";
testFailed(message);
}
} catch(e) {
var message = "Biquad filter type " + i + " should not throw exception.";
testFailed(message);
}
}
// Check that illegal filter type throws.
try {
filter.type = filter.ALLPASS + 1;
testFailed("Illegal filter type should throw exception.");
} catch(e) {
testPassed("Illegal filter type correctly throws exception.");
}
finishJSTest();
}
runTest();
</script>
<script src="../fast/js/resources/js-test-post.js"></script>
</body>
</html>