4 <script src="../resources/js-test.js"></script>
5 <script src="resources/compatibility.js"></script>
6 <script src="resources/audio-testing.js"></script>
10 <div id="description"></div>
11 <div id="console"></div>
14 description("Basic tests for BiquadFilterNode.");
19 if (window.testRunner) {
20 testRunner.dumpAsText();
21 testRunner.waitUntilDone();
24 window.jsTestIsAsync = true;
26 context = new AudioContext();
27 var filter = context.createBiquadFilter();
29 if (filter.numberOfInputs === 1)
30 testPassed("BiquadFilterNode has one input.");
32 testFailed("BiquadFilterNode should have one input.");
34 if (filter.numberOfOutputs === 1)
35 testPassed("BiquadFilterNode has one output.");
37 testFailed("BiquadFilterNode should have one output.");
39 if (filter.type === "lowpass")
40 testPassed("Biquad filter defaults to low-pass filter.");
42 testFailed("Biquad filter should default to low-pass filter.");
44 if (filter.frequency.value === 350)
45 testPassed("The default value of frequency is 350.");
47 testFailed("The default value of frequency should be 350.");
49 if (filter.Q.value === 1)
50 testPassed("The default value of Q is 1.");
52 testFailed("The default value of Q should be 1.");
54 if (filter.gain.value === 0)
55 testPassed("The default value of gain is 0.");
57 testFailed("The default value of gain should be 0.");
59 // Check that all legal filter types can be set.
60 var filterTypeArray = [{type: "lowpass"},
69 for (var i = 0; i < filterTypeArray.length; ++i) {
71 filter.type = filterTypeArray[i].type;
72 if (filter.type === filterTypeArray[i].type) {
73 var message = "Biquad filter type '" + filterTypeArray[i].type + "' is settable.";
76 var message = "Biquad filter type '" + filterTypeArray[i].type + "' was not correctly set.";
80 var message = "Biquad filter type " + i + " should not throw exception.";
86 // Check that numerical values are no longer supported
88 if (filter.type == 99)
89 testFailed("Biquad filter type incorrectly set to 99.")
91 testPassed("Biquad filter type correctly not set to 99.");