Index: third_party/WebKit/LayoutTests/webaudio/audiobuffer-copy-channel.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/audiobuffer-copy-channel.html b/third_party/WebKit/LayoutTests/webaudio/audiobuffer-copy-channel.html |
deleted file mode 100644 |
index 3224ac987650a06aa242c37efada47570ceafa63..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/webaudio/audiobuffer-copy-channel.html |
+++ /dev/null |
@@ -1,266 +0,0 @@ |
-<!doctype html> |
-<html> |
- <head> |
- <script src="../resources/js-test.js"></script> |
- <script src="resources/compatibility.js"></script> |
- <script src="resources/audit-util.js"></script> |
- <script src="resources/audio-testing.js"></script> |
- <title>Test Basic Functionality of AudioBuffer.copyFromChannel and AudioBuffer.copyToChannel</title> |
- </head> |
- |
- <body> |
- <script> |
- description("Test Basic Functionality of copyFromChannel and AudioBuffer.copyToChannel"); |
- |
- window.jsTestIsAsync = true; |
- |
- // Define utility routines. |
- |
- // Initialize the AudioBuffer |buffer| with a ramp signal on each channel. The ramp starts at |
- // channel number + 1. |
- function initializeAudioBufferRamp (buffer) { |
- for (var c = 0; c < buffer.numberOfChannels; ++c) { |
- var d = buffer.getChannelData(c); |
- for (var k = 0; k < d.length; ++k) { |
- d[k] = k + c + 1; |
- } |
- } |
- } |
- |
- // Create a Float32Array of length |length| and initialize the array to -1. |
- function createInitializedF32Array(length) { |
- var x = new Float32Array(length); |
- for (var k = 0; k < length; ++k) { |
- x[k] = -1; |
- } |
- return x; |
- } |
- |
- // Create a Float32Array of length |length| that is initialized to be a ramp starting at 1. |
- function createFloat32RampArray(length) { |
- var x = new Float32Array(length); |
- for (var k = 0; k < x.length; ++k) { |
- x[k] = k + 1; |
- } |
- |
- return x; |
- } |
- |
- // Test that the array |x| is a ramp starting at value |start| of length |length|, starting at |
- // |startIndex| in the array. |startIndex| is optional and defaults to 0. Any other values |
- // must be -1. |
- function shouldBeRamp(testName, x, startValue, length, startIndex) { |
- var k; |
- var startingIndex = startIndex || 0; |
- var expected = Array(x.length); |
- |
- // Fill the expected array with the correct results. |
- |
- // The initial part (if any) must be -1. |
- for (k = 0; k < startingIndex; ++k) { |
- expected[k] = -1; |
- } |
- |
- // The second part should be a ramp starting with |startValue| |
- for (; k < startingIndex + length; ++k) { |
- expected[k] = startValue + k - startingIndex; |
- } |
- |
- // The last part (if any) should be -1. |
- for (; k < x.length; ++k) { |
- expected[k] = -1; |
- } |
- |
- Should(testName, x, {numberOfArrayLog: 32}).beEqualToArray(expected); |
- } |
- |
- var audit = Audit.createTaskRunner(); |
- |
- var context = new AudioContext(); |
- // Temp array for testing exceptions for copyToChannel/copyFromChannel. The length is arbitrary. |
- var x = new Float32Array(8); |
- |
- // Number of frames in the AudioBuffer for testing. This is pretty arbitrary so choose a |
- // fairly small value. |
- var bufferLength = 16; |
- |
- // Number of channels in the AudioBuffer. Also arbitrary, but it should be greater than 1 for |
- // test coverage. |
- var numberOfChannels = 3; |
- |
- // AudioBuffer that will be used for testing copyFrom and copyTo. |
- var buffer = context.createBuffer(numberOfChannels, bufferLength, context.sampleRate); |
- |
- var initialValues = Array(numberOfChannels); |
- |
- // Initialize things |
- audit.defineTask("initialize", function (done) { |
- // Initialize to -1. |
- for (var k = 0; k < numberOfChannels; ++k) { |
- initialValues[k] = -1; |
- } |
- |
- done(); |
- }); |
- |
- // Test that expected exceptions are signaled for copyFrom. |
- audit.defineTask("copyFrom-exceptions", function (done) { |
- shouldBeDefined("AudioBuffer.prototype.copyFromChannel"); |
- |
- Should("buffer = context.createBuffer(" + numberOfChannels + ", " + bufferLength + ", context.sampleRate)", |
- function () { |
- buffer = context.createBuffer(numberOfChannels, bufferLength, context.sampleRate); |
- }).notThrow(); |
- Should("buffer.copyFromChannel(null, 0)", function () { |
- buffer.copyFromChannel(null, 0); |
- }).throw("TypeError"); |
- Should("buffer.copyFromChannel(context, 0)", function () { |
- buffer.copyFromChannel(context, 0); |
- }).throw("TypeError"); |
- Should("buffer.copyFromChannel(x, -1)", function () { |
- buffer.copyFromChannel(x, -1); |
- }).throw("IndexSizeError"); |
- Should("buffer.copyFromChannel(x, " + numberOfChannels + ")", function () { |
- buffer.copyFromChannel(x, numberOfChannels); |
- }).throw("IndexSizeError");; |
- Should("buffer.copyFromChannel(x, 0, -1)", function () { |
- buffer.copyFromChannel(x, 0, -1); |
- }).throw("IndexSizeError"); |
- Should("buffer.copyFromChannel(x, 0, " + bufferLength + ")", function () { |
- buffer.copyFromChannel(x, 0, bufferLength); |
- }).throw("IndexSizeError"); |
- |
- shouldThrow("buffer.copyFromChannel(x, 3)"); |
- |
- done(); |
- }); |
- |
- // Test that expected exceptions are signaled for copyTo. |
- audit.defineTask("copyTo-exceptions", function (done) { |
- shouldBeDefined("AudioBuffer.prototype.copyToChannel"); |
- Should("buffer.copyToChannel(null, 0)", function () { |
- buffer.copyToChannel(null, 0); |
- }).throw("TypeError"); |
- Should("buffer.copyToChannel(context, 0)", function () { |
- buffer.copyToChannel(context, 0); |
- }).throw("TypeError"); |
- Should("buffer.copyToChannel(x, -1)", function () { |
- buffer.copyToChannel(x, -1); |
- }).throw("IndexSizeError"); |
- Should("buffer.copyToChannel(x, " + numberOfChannels + ")", function () { |
- buffer.copyToChannel(x, numberOfChannels); |
- }).throw("IndexSizeError"); |
- Should("buffer.copyToChannel(x, 0, -1)", function () { |
- buffer.copyToChannel(x, 0, -1); |
- }).throw("IndexSizeError"); |
- Should("buffer.copyToChannel(x, 0, " + bufferLength + ")", function () { |
- buffer.copyToChannel(x, 0, bufferLength); |
- }).throw("IndexSizeError"); |
- |
- shouldThrow("buffer.copyToChannel(x, 3)"); |
- |
- done(); |
- }); |
- |
- // Test copyFromChannel |
- audit.defineTask("copyFrom-validate", function (done) { |
- // Initialize the AudioBuffer to a ramp for testing copyFrom. |
- initializeAudioBufferRamp(buffer); |
- |
- // Test copyFrom operation with a short destination array, filling the destination completely. |
- for (var c = 0; c < numberOfChannels; ++c) { |
- var dst8 = createInitializedF32Array(8); |
- buffer.copyFromChannel(dst8, c); |
- shouldBeRamp("buffer.copyFromChannel(dst8, " + c + ")", dst8, c + 1, 8) |
- } |
- |
- // Test copyFrom operation with a short destination array using a non-zero start index that |
- // still fills the destination completely. |
- for (var c = 0; c < numberOfChannels; ++c) { |
- var dst8 = createInitializedF32Array(8); |
- buffer.copyFromChannel(dst8, c, 1); |
- shouldBeRamp("buffer.copyFromChannel(dst8, " + c + ", 1)", dst8, c + 2, 8) |
- } |
- |
- // Test copyFrom operation with a short destination array using a non-zero start index that |
- // does not fill the destinatiom completely. The extra elements should be unchanged. |
- for (var c = 0; c < numberOfChannels; ++c) { |
- var dst8 = createInitializedF32Array(8); |
- var startInChannel = bufferLength - 5; |
- buffer.copyFromChannel(dst8, c, startInChannel); |
- shouldBeRamp("buffer.copyFromChannel(dst8, " + c + ", " + startInChannel + ")", dst8, |
- c + 1 + startInChannel, bufferLength - startInChannel); |
- } |
- |
- // Copy operation with the destination longer than the buffer, leaving the trailing elements |
- // of the destination untouched. |
- for (var c = 0; c < numberOfChannels; ++c) { |
- var dst26 = createInitializedF32Array(bufferLength + 10); |
- buffer.copyFromChannel(dst26, c); |
- shouldBeRamp("buffer.copyFromChannel(dst26, " + c + ")", dst26, |
- c + 1, bufferLength); |
- } |
- |
- done(); |
- }); |
- |
- // Test copyTo |
- audit.defineTask("copyTo-validate", function (done) { |
- // Create a source consisting of a ramp starting at 1, longer than the AudioBuffer |
- var src = createFloat32RampArray(bufferLength + 10); |
- |
- // Test copyTo with AudioBuffer shorter than Float32Array. The AudioBuffer should be |
- // completely filled with the Float32Array. |
- Should("buffer = createConstantBuffer(context, " + bufferLength + ", [" + initialValues+ "])", |
- function () { |
- buffer = createConstantBuffer(context, bufferLength, initialValues); |
- }).notThrow();; |
- |
- for (var c = 0; c < numberOfChannels; ++c) { |
- buffer.copyToChannel(src, c); |
- shouldBeRamp("buffer.copyToChannel(src, " + c + ")", buffer.getChannelData(c), 1, bufferLength); |
- } |
- |
- // Test copyTo with AudioBuffer longer than the Float32Array. The tail of the AudioBuffer |
- // should be unchanged. |
- buffer = createConstantBuffer(context, bufferLength, initialValues); |
- var src10 = createFloat32RampArray(10); |
- for (var c = 0; c < numberOfChannels; ++c) { |
- buffer.copyToChannel(src10, c); |
- shouldBeRamp("buffer.copyToChannel(src10, " + c + ")", buffer.getChannelData(c), 1, 10); |
- } |
- |
- // Test copyTo with non-default startInChannel. Part of the AudioBuffer should filled with |
- // the beginning and end sections untouched. |
- buffer = createConstantBuffer(context, bufferLength, initialValues); |
- for (var c = 0; c < numberOfChannels; ++c) { |
- var startInChannel = 5; |
- buffer.copyToChannel(src10, c, startInChannel); |
- |
- shouldBeRamp("buffer.copyToChannel(src10, " + c + ", " + startInChannel + ")", |
- buffer.getChannelData(c), 1, src10.length, startInChannel); |
- } |
- |
- done(); |
- }); |
- |
- audit.defineTask("finish", function (done) { |
- finishJSTest(); |
- done(); |
- }); |
- |
- audit.runTasks( |
- "initialize", |
- "copyFrom-exceptions", |
- "copyTo-exceptions", |
- "copyFrom-validate", |
- "copyTo-validate", |
- "finish" |
- ); |
- |
- successfullyParsed = true; |
- |
- </script> |
- |
- </body> |
-</html> |