| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 <!doctype html> | 
|  | 2 <html> | 
|  | 3   <head> | 
|  | 4     <title>Test Constructor: StereoPanner</title> | 
|  | 5     <script src="../../resources/testharness.js"></script> | 
|  | 6     <script src="../../resources/testharnessreport.js"></script> | 
|  | 7     <script src="../resources/audio-testing.js"></script> | 
|  | 8     <script src="audionodeoptions.js"></script> | 
|  | 9   </head> | 
|  | 10 | 
|  | 11   <body> | 
|  | 12     <script> | 
|  | 13       var context; | 
|  | 14 | 
|  | 15       var audit = Audit.createTaskRunner(); | 
|  | 16 | 
|  | 17       audit.defineTask("initialize", function (taskDone) { | 
|  | 18         Should("context = new OfflineAudioContext(...)", function () { | 
|  | 19           context = new OfflineAudioContext(1, 1, 48000); | 
|  | 20         }).notThrow(); | 
|  | 21 | 
|  | 22         taskDone(); | 
|  | 23       }); | 
|  | 24 | 
|  | 25       audit.defineTask("invalid constructor", function (taskDone) { | 
|  | 26         var node; | 
|  | 27         var success = true; | 
|  | 28 | 
|  | 29         success = Should("new StereoPannerNode()", function () { | 
|  | 30           node = new StereoPannerNode(); | 
|  | 31         }).throw("TypeError"); | 
|  | 32         success = Should("new StereoPannerNode(1)", function () { | 
|  | 33           node = new StereoPannerNode(1) && success; | 
|  | 34         }).throw("TypeError"); | 
|  | 35         success = Should("new StereoPannerNode(context, 42)", function () { | 
|  | 36           node = new StereoPannerNode(context, 42) && success; | 
|  | 37         }).throw("TypeError"); | 
|  | 38 | 
|  | 39         Should("Invalid constructors", success) | 
|  | 40             .summarize( | 
|  | 41                 "correctly threw errors", | 
|  | 42                 "did not throw errors in all cases"); | 
|  | 43 | 
|  | 44         taskDone(); | 
|  | 45       }); | 
|  | 46 | 
|  | 47       audit.defineTask("default constructor", function (taskDone) { | 
|  | 48         var node; | 
|  | 49         var success = true; | 
|  | 50 | 
|  | 51         success = Should("node = new StereoPannerNode(context)", function () { | 
|  | 52           node = new StereoPannerNode(context); | 
|  | 53         }).notThrow(); | 
|  | 54         success = Should("node instanceof StereoPannerNode", node instanceof Ste
     reoPannerNode) | 
|  | 55           .beEqualTo(true) && success; | 
|  | 56 | 
|  | 57         success = Should("node.pan.value", node.pan.value) | 
|  | 58           .beEqualTo(0) && success; | 
|  | 59 | 
|  | 60         Should("new StereoPannerNode(context)", success) | 
|  | 61             .summarize( | 
|  | 62                 "constructed node with correct attributes", | 
|  | 63                 "did not construct correct node correctly") | 
|  | 64 | 
|  | 65         taskDone(); | 
|  | 66       }); | 
|  | 67 | 
|  | 68       audit.defineTask("test AudioNodeOptions", function (taskDone) { | 
|  | 69         // Can't use testAudioNodeOptions because the constraints for this node | 
|  | 70         // are not supported there. | 
|  | 71         var node; | 
|  | 72         var success = true; | 
|  | 73 | 
|  | 74         // Test that we can set the channel count to 1 or 2. | 
|  | 75         success = Should("new StereoPannerNode(c, {channelCount: 1})", | 
|  | 76           function () { | 
|  | 77             node = new StereoPannerNode(context, { | 
|  | 78               channelCount: 1 | 
|  | 79             }); | 
|  | 80           }).notThrow() && success; | 
|  | 81         success = Should("node.channelCount", node.channelCount) | 
|  | 82           .beEqualTo(1) && success; | 
|  | 83 | 
|  | 84         success = Should("new StereoPannerNode(c, {channelCount: 2})", | 
|  | 85           function () { | 
|  | 86             node = new StereoPannerNode(context, { | 
|  | 87               channelCount: 2 | 
|  | 88             }); | 
|  | 89           }).notThrow() && success; | 
|  | 90         success = Should("node.channelCount", node.channelCount) | 
|  | 91           .beEqualTo(2) && success; | 
|  | 92 | 
|  | 93         // Test that other channel counts throw an error | 
|  | 94         success = Should("new StereoPannerNode(c, {channelCount: 0})", | 
|  | 95           function () { | 
|  | 96             node = new StereoPannerNode(context, { | 
|  | 97               channelCount: 0 | 
|  | 98             }); | 
|  | 99           }).throw("NotSupportedError") && success; | 
|  | 100         success = Should("new StereoPannerNode(c, {channelCount: 3})", | 
|  | 101           function () { | 
|  | 102             node = new StereoPannerNode(context, { | 
|  | 103               channelCount: 3 | 
|  | 104             }); | 
|  | 105           }).throw("NotSupportedError") && success; | 
|  | 106         success = Should("new StereoPannerNode(c, {channelCount: 99})", | 
|  | 107           function () { | 
|  | 108             node = new StereoPannerNode(context, { | 
|  | 109               channelCount: 99 | 
|  | 110             }); | 
|  | 111           }).throw("NotSupportedError") && success; | 
|  | 112 | 
|  | 113         // Test channelCountMode.  A mode of "max" is illegal, but others are ok
     . | 
|  | 114         success = Should('new StereoPannerNode(c, {channelCountMode: "clamped-ma
     x"})', | 
|  | 115           function () { | 
|  | 116             node = new StereoPannerNode(context, { | 
|  | 117               channelCountMode: "clamped-max" | 
|  | 118             }); | 
|  | 119           }).notThrow() && success; | 
|  | 120         success = Should("node.channelCountMode", node.channelCountMode) | 
|  | 121           .beEqualTo("clamped-max") && success; | 
|  | 122 | 
|  | 123         success = Should('new StereoPannerNode(c, {channelCountMode: "explicit"}
     )', | 
|  | 124           function () { | 
|  | 125             node = new StereoPannerNode(context, { | 
|  | 126               channelCountMode: "explicit" | 
|  | 127             }); | 
|  | 128           }).notThrow() && success; | 
|  | 129         success = Should("node.channelCountMode", node.channelCountMode) | 
|  | 130           .beEqualTo("explicit") && success; | 
|  | 131 | 
|  | 132         success = Should('new StereoPannerNode(c, {channelCountMode: "max"})', | 
|  | 133           function () { | 
|  | 134             node = new StereoPannerNode(context, { | 
|  | 135               channelCountMode: "max" | 
|  | 136             }); | 
|  | 137           }).throw("NotSupportedError") && success; | 
|  | 138         success = Should('new StereoPannerNode(c, {channelCountMode: "foobar"})'
     , | 
|  | 139           function () { | 
|  | 140             node = new StereoPannerNode(context, { | 
|  | 141               channelCountMode: "foobar" | 
|  | 142             }); | 
|  | 143           }).throw("TypeError") && success; | 
|  | 144 | 
|  | 145         // Test channelInterpretation. | 
|  | 146         success = Should('new StereoPannerNode(c, {channelInterpretation: "speak
     ers"})', | 
|  | 147           function () { | 
|  | 148             node = new StereoPannerNode(context, { | 
|  | 149               channelInterpretation: "speakers" | 
|  | 150             }); | 
|  | 151           }).notThrow() && success; | 
|  | 152         success = Should("node.channelInterpretation", node.channelInterpretatio
     n) | 
|  | 153           .beEqualTo("speakers") && success; | 
|  | 154         success = Should('new StereoPannerNode(c, {channelInterpretation: "discr
     ete"})', | 
|  | 155           function () { | 
|  | 156             node = new StereoPannerNode(context, { | 
|  | 157               channelInterpretation: "discrete" | 
|  | 158             }); | 
|  | 159           }).notThrow() && success; | 
|  | 160         success = Should("node.channelInterpretation", node.channelInterpretatio
     n) | 
|  | 161           .beEqualTo("discrete") && success; | 
|  | 162         success = Should('new StereoPannerNode(c, {channelInterpretation: "fooba
     r"})', | 
|  | 163           function () { | 
|  | 164             node = new StereoPannerNode(context, { | 
|  | 165               channelInterpretation: "foobar" | 
|  | 166             }); | 
|  | 167           }).throw("TypeError") && success; | 
|  | 168 | 
|  | 169         Should("AudioNodeOptions for StereoPannerNode", success) | 
|  | 170           .summarize( | 
|  | 171             "were correctly handled", | 
|  | 172             "were not correctly handled"); | 
|  | 173 | 
|  | 174         taskDone(); | 
|  | 175       }); | 
|  | 176 | 
|  | 177       audit.defineTask("constructor with options", function (taskDone) { | 
|  | 178         var node; | 
|  | 179         var success = true; | 
|  | 180         var options = { | 
|  | 181           pan: 0.75, | 
|  | 182         }; | 
|  | 183 | 
|  | 184         success = Should("node = new StereoPannerNode(context, <options>)", func
     tion () { | 
|  | 185           node = new StereoPannerNode(context, options); | 
|  | 186         }).notThrow(); | 
|  | 187         success = Should("node instanceof StereoPannerNode", node instanceof Ste
     reoPannerNode) | 
|  | 188           .beEqualTo(true) && success; | 
|  | 189 | 
|  | 190         success = Should("node.pan.value", node.pan.value) | 
|  | 191           .beEqualTo(options.pan) && success; | 
|  | 192 | 
|  | 193         Should("new StereoPannerNode() with options", success) | 
|  | 194             .summarize( | 
|  | 195                 "constructed with correct attributes", | 
|  | 196                 "was not constructed correctly"); | 
|  | 197 | 
|  | 198         taskDone(); | 
|  | 199       }); | 
|  | 200 | 
|  | 201       audit.runTasks(); | 
|  | 202     </script> | 
|  | 203   </body> | 
|  | 204 </html> | 
| OLD | NEW | 
|---|