| OLD | NEW |
| 1 <!doctype html> | 1 <!doctype html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/testharness.js"></script> |
| 5 <script src="../../resources/testharnessreport.js"></script> |
| 5 <script src="../resources/audit-util.js"></script> | 6 <script src="../resources/audit-util.js"></script> |
| 6 <script src="../resources/audio-testing.js"></script> | 7 <script src="../resources/audio-testing.js"></script> |
| 7 <title>Test Basic Functionality of AudioBuffer.copyFromChannel and AudioBuff
er.copyToChannel</title> | 8 <title>Test Basic Functionality of AudioBuffer.copyFromChannel and AudioBuff
er.copyToChannel</title> |
| 8 </head> | 9 </head> |
| 9 | 10 |
| 10 <body> | 11 <body> |
| 11 <script> | 12 <script> |
| 12 description("Test Basic Functionality of copyFromChannel and AudioBuffer.c
opyToChannel"); | |
| 13 | 13 |
| 14 window.jsTestIsAsync = true; | |
| 15 | 14 |
| 16 // Define utility routines. | 15 // Define utility routines. |
| 17 | 16 |
| 18 // Initialize the AudioBuffer |buffer| with a ramp signal on each channel.
The ramp starts at | 17 // Initialize the AudioBuffer |buffer| with a ramp signal on each channel.
The ramp starts at |
| 19 // channel number + 1. | 18 // channel number + 1. |
| 20 function initializeAudioBufferRamp (buffer) { | 19 function initializeAudioBufferRamp (buffer) { |
| 21 for (var c = 0; c < buffer.numberOfChannels; ++c) { | 20 for (var c = 0; c < buffer.numberOfChannels; ++c) { |
| 22 var d = buffer.getChannelData(c); | 21 var d = buffer.getChannelData(c); |
| 23 for (var k = 0; k < d.length; ++k) { | 22 for (var k = 0; k < d.length; ++k) { |
| 24 d[k] = k + c + 1; | 23 d[k] = k + c + 1; |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 // Initialize to -1. | 96 // Initialize to -1. |
| 98 for (var k = 0; k < numberOfChannels; ++k) { | 97 for (var k = 0; k < numberOfChannels; ++k) { |
| 99 initialValues[k] = -1; | 98 initialValues[k] = -1; |
| 100 } | 99 } |
| 101 | 100 |
| 102 done(); | 101 done(); |
| 103 }); | 102 }); |
| 104 | 103 |
| 105 // Test that expected exceptions are signaled for copyFrom. | 104 // Test that expected exceptions are signaled for copyFrom. |
| 106 audit.defineTask("copyFrom-exceptions", function (done) { | 105 audit.defineTask("copyFrom-exceptions", function (done) { |
| 107 shouldBeDefined("AudioBuffer.prototype.copyFromChannel"); | 106 Should("AudioBuffer.prototype.copyFromChannel", |
| 107 AudioBuffer.prototype.copyFromChannel) |
| 108 .exist(); |
| 108 | 109 |
| 109 Should("buffer = context.createBuffer(" + numberOfChannels + ", " + buff
erLength + ", context.sampleRate)", | 110 Should("buffer = context.createBuffer(" + numberOfChannels + ", " + buff
erLength + ", context.sampleRate)", |
| 110 function () { | 111 function () { |
| 111 buffer = context.createBuffer(numberOfChannels, bufferLength, contex
t.sampleRate); | 112 buffer = context.createBuffer(numberOfChannels, bufferLength, contex
t.sampleRate); |
| 112 }).notThrow(); | 113 }).notThrow(); |
| 113 Should("buffer.copyFromChannel(null, 0)", function () { | 114 Should("buffer.copyFromChannel(null, 0)", function () { |
| 114 buffer.copyFromChannel(null, 0); | 115 buffer.copyFromChannel(null, 0); |
| 115 }).throw("TypeError"); | 116 }).throw("TypeError"); |
| 116 Should("buffer.copyFromChannel(context, 0)", function () { | 117 Should("buffer.copyFromChannel(context, 0)", function () { |
| 117 buffer.copyFromChannel(context, 0); | 118 buffer.copyFromChannel(context, 0); |
| 118 }).throw("TypeError"); | 119 }).throw("TypeError"); |
| 119 Should("buffer.copyFromChannel(x, -1)", function () { | 120 Should("buffer.copyFromChannel(x, -1)", function () { |
| 120 buffer.copyFromChannel(x, -1); | 121 buffer.copyFromChannel(x, -1); |
| 121 }).throw("IndexSizeError"); | 122 }).throw("IndexSizeError"); |
| 122 Should("buffer.copyFromChannel(x, " + numberOfChannels + ")", function (
) { | 123 Should("buffer.copyFromChannel(x, " + numberOfChannels + ")", function (
) { |
| 123 buffer.copyFromChannel(x, numberOfChannels); | 124 buffer.copyFromChannel(x, numberOfChannels); |
| 124 }).throw("IndexSizeError");; | 125 }).throw("IndexSizeError");; |
| 125 Should("buffer.copyFromChannel(x, 0, -1)", function () { | 126 Should("buffer.copyFromChannel(x, 0, -1)", function () { |
| 126 buffer.copyFromChannel(x, 0, -1); | 127 buffer.copyFromChannel(x, 0, -1); |
| 127 }).throw("IndexSizeError"); | 128 }).throw("IndexSizeError"); |
| 128 Should("buffer.copyFromChannel(x, 0, " + bufferLength + ")", function ()
{ | 129 Should("buffer.copyFromChannel(x, 0, " + bufferLength + ")", function ()
{ |
| 129 buffer.copyFromChannel(x, 0, bufferLength); | 130 buffer.copyFromChannel(x, 0, bufferLength); |
| 130 }).throw("IndexSizeError"); | 131 }).throw("IndexSizeError"); |
| 131 | 132 |
| 132 shouldThrow("buffer.copyFromChannel(x, 3)"); | 133 Should("buffer.copyFromChannel(x, 3)", function () { |
| 134 buffer.copyFromChannel(x, 3); |
| 135 }).throw("IndexSizeError"); |
| 133 | 136 |
| 134 done(); | 137 done(); |
| 135 }); | 138 }); |
| 136 | 139 |
| 137 // Test that expected exceptions are signaled for copyTo. | 140 // Test that expected exceptions are signaled for copyTo. |
| 138 audit.defineTask("copyTo-exceptions", function (done) { | 141 audit.defineTask("copyTo-exceptions", function (done) { |
| 139 shouldBeDefined("AudioBuffer.prototype.copyToChannel"); | 142 Should("AudioBuffer.prototype.copyToChannel", |
| 143 AudioBuffer.prototype.copyToChannel) |
| 144 .exist(); |
| 140 Should("buffer.copyToChannel(null, 0)", function () { | 145 Should("buffer.copyToChannel(null, 0)", function () { |
| 141 buffer.copyToChannel(null, 0); | 146 buffer.copyToChannel(null, 0); |
| 142 }).throw("TypeError"); | 147 }).throw("TypeError"); |
| 143 Should("buffer.copyToChannel(context, 0)", function () { | 148 Should("buffer.copyToChannel(context, 0)", function () { |
| 144 buffer.copyToChannel(context, 0); | 149 buffer.copyToChannel(context, 0); |
| 145 }).throw("TypeError"); | 150 }).throw("TypeError"); |
| 146 Should("buffer.copyToChannel(x, -1)", function () { | 151 Should("buffer.copyToChannel(x, -1)", function () { |
| 147 buffer.copyToChannel(x, -1); | 152 buffer.copyToChannel(x, -1); |
| 148 }).throw("IndexSizeError"); | 153 }).throw("IndexSizeError"); |
| 149 Should("buffer.copyToChannel(x, " + numberOfChannels + ")", function ()
{ | 154 Should("buffer.copyToChannel(x, " + numberOfChannels + ")", function ()
{ |
| 150 buffer.copyToChannel(x, numberOfChannels); | 155 buffer.copyToChannel(x, numberOfChannels); |
| 151 }).throw("IndexSizeError"); | 156 }).throw("IndexSizeError"); |
| 152 Should("buffer.copyToChannel(x, 0, -1)", function () { | 157 Should("buffer.copyToChannel(x, 0, -1)", function () { |
| 153 buffer.copyToChannel(x, 0, -1); | 158 buffer.copyToChannel(x, 0, -1); |
| 154 }).throw("IndexSizeError"); | 159 }).throw("IndexSizeError"); |
| 155 Should("buffer.copyToChannel(x, 0, " + bufferLength + ")", function () { | 160 Should("buffer.copyToChannel(x, 0, " + bufferLength + ")", function () { |
| 156 buffer.copyToChannel(x, 0, bufferLength); | 161 buffer.copyToChannel(x, 0, bufferLength); |
| 157 }).throw("IndexSizeError"); | 162 }).throw("IndexSizeError"); |
| 158 | 163 |
| 159 shouldThrow("buffer.copyToChannel(x, 3)"); | 164 Should("buffer.copyToChannel(x, 3)", function () { |
| 165 buffer.copyToChannel(x, 3); |
| 166 }).throw("IndexSizeError"); |
| 160 | 167 |
| 161 done(); | 168 done(); |
| 162 }); | 169 }); |
| 163 | 170 |
| 164 // Test copyFromChannel | 171 // Test copyFromChannel |
| 165 audit.defineTask("copyFrom-validate", function (done) { | 172 audit.defineTask("copyFrom-validate", function (done) { |
| 166 // Initialize the AudioBuffer to a ramp for testing copyFrom. | 173 // Initialize the AudioBuffer to a ramp for testing copyFrom. |
| 167 initializeAudioBufferRamp(buffer); | 174 initializeAudioBufferRamp(buffer); |
| 168 | 175 |
| 169 // Test copyFrom operation with a short destination array, filling the d
estination completely. | 176 // Test copyFrom operation with a short destination array, filling the d
estination completely. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 buffer.copyToChannel(src10, c, startInChannel); | 244 buffer.copyToChannel(src10, c, startInChannel); |
| 238 | 245 |
| 239 shouldBeRamp("buffer.copyToChannel(src10, " + c + ", " + startInChanne
l + ")", | 246 shouldBeRamp("buffer.copyToChannel(src10, " + c + ", " + startInChanne
l + ")", |
| 240 buffer.getChannelData(c), 1, src10.length, startInChannel); | 247 buffer.getChannelData(c), 1, src10.length, startInChannel); |
| 241 } | 248 } |
| 242 | 249 |
| 243 done(); | 250 done(); |
| 244 }); | 251 }); |
| 245 | 252 |
| 246 audit.defineTask("finish", function (done) { | 253 audit.defineTask("finish", function (done) { |
| 247 finishJSTest(); | |
| 248 done(); | 254 done(); |
| 249 }); | 255 }); |
| 250 | 256 |
| 251 audit.runTasks( | 257 audit.runTasks( |
| 252 "initialize", | 258 "initialize", |
| 253 "copyFrom-exceptions", | 259 "copyFrom-exceptions", |
| 254 "copyTo-exceptions", | 260 "copyTo-exceptions", |
| 255 "copyFrom-validate", | 261 "copyFrom-validate", |
| 256 "copyTo-validate", | 262 "copyTo-validate", |
| 257 "finish" | 263 "finish" |
| 258 ); | 264 ); |
| 259 | 265 |
| 260 successfullyParsed = true; | 266 successfullyParsed = true; |
| 261 | 267 |
| 262 </script> | 268 </script> |
| 263 | 269 |
| 264 </body> | 270 </body> |
| 265 </html> | 271 </html> |
| OLD | NEW |