audiopannernode-basic.html should cover default value of attribute.
[WebKit-https.git] / LayoutTests / webaudio / biquadfilternode-basic.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../fast/js/resources/js-test-pre.js"></script>
5 <script src="resources/audio-testing.js"></script>
6 </head>
7
8 <body>
9 <div id="description"></div>
10 <div id="console"></div>
11
12 <script>
13 description("Basic tests for BiquadFilterNode.");
14
15 var context = 0;
16
17 function runTest() {
18     if (window.testRunner) {
19         testRunner.dumpAsText();
20         testRunner.waitUntilDone();
21     }
22     
23     window.jsTestIsAsync = true;
24
25     context = new webkitAudioContext();
26     var filter = context.createBiquadFilter();
27    
28     if (filter.numberOfInputs === 1) 
29         testPassed("BiquadFilterNode has one iutput.");
30     else
31         testFailed("BiquadFilterNode should have one iutput.");
32     
33     if (filter.numberOfOutputs === 1) 
34         testPassed("BiquadFilterNode has one output.");
35     else
36         testFailed("BiquadFilterNode should have one output.");
37     
38     if (filter.type === filter.LOWPASS)
39         testPassed("Biquad filter defaults to low-pass filter.");
40     else
41         testFailed("Biquad filter should default to low-pass filter.");
42
43     // Check that all legal filter types can be set.
44     var filterTypeArray = [filter.LOWPASS,
45                            filter.HIGHPASS,
46                            filter.BANDPASS,
47                            filter.LOWSHELF,
48                            filter.HIGHSHELF,
49                            filter.PEAKING,
50                            filter.NOTCH,
51                            filter.ALLPASS];
52
53     for (var i = 0; i < filterTypeArray.length; ++i) {
54         try {
55             filter.type = filterTypeArray[i];
56             if (filter.type === filterTypeArray[i] && filterTypeArray[i] === i) {
57                 var message = "Biquad filter type " + i + " is settable.";
58                 testPassed(message);
59             } else {
60                 var message = "Biquad filter type " + i + " was not correctly set.";
61                 testFailed(message);
62             }
63         } catch(e) {
64             var message = "Biquad filter type " + i + " should not throw exception.";
65             testFailed(message);
66         }
67     }
68
69     // Check that illegal filter type throws.
70     try {
71         filter.type = filter.ALLPASS + 1;
72         testFailed("Illegal filter type should throw exception.");
73     } catch(e) {
74         testPassed("Illegal filter type correctly throws exception.");
75     }
76
77     finishJSTest();
78 }
79
80 runTest();
81
82 </script>
83
84 <script src="../fast/js/resources/js-test-post.js"></script>
85 </body>
86 </html>