OLD | NEW |
1 function createTestBuffer(context, sampleFrameLength) { | 1 function createTestBuffer(context, sampleFrameLength) { |
2 var audioBuffer = context.createBuffer(1, sampleFrameLength, context.sampleR
ate); | 2 var audioBuffer = context.createBuffer(1, sampleFrameLength, context.sampleR
ate); |
3 var channelData = audioBuffer.getChannelData(0); | 3 var channelData = audioBuffer.getChannelData(0); |
4 | 4 |
5 // Create a simple linear ramp starting at zero, with each value in the buff
er equal to its index position. | 5 // Create a simple linear ramp starting at zero, with each value in the buff
er equal to its index position. |
6 for (var i = 0; i < sampleFrameLength; ++i) | 6 for (var i = 0; i < sampleFrameLength; ++i) |
7 channelData[i] = i; | 7 channelData[i] = i; |
8 | 8 |
9 return audioBuffer; | 9 return audioBuffer; |
10 } | 10 } |
(...skipping 11 matching lines...) Expand all Loading... |
22 description = test.description; | 22 description = test.description; |
23 } else { | 23 } else { |
24 // No description given, so create a basic one from the given test param
eters. | 24 // No description given, so create a basic one from the given test param
eters. |
25 description = "loop from " + test.loopStartFrame + " -> " + test.loopEnd
Frame; | 25 description = "loop from " + test.loopStartFrame + " -> " + test.loopEnd
Frame; |
26 if (test.offsetFrame) | 26 if (test.offsetFrame) |
27 description += " with offset " + test.offsetFrame; | 27 description += " with offset " + test.offsetFrame; |
28 if (test.playbackRate && test.playbackRate != 1) | 28 if (test.playbackRate && test.playbackRate != 1) |
29 description += " with playbackRate of " + test.playbackRate; | 29 description += " with playbackRate of " + test.playbackRate; |
30 } | 30 } |
31 | 31 |
32 for (var j = 0; j < test.renderFrames; ++j) { | 32 var framesToTest; |
| 33 |
| 34 if (test.renderFrames) |
| 35 framesToTest = test.renderFrames; |
| 36 else if (test.durationFrames) |
| 37 framesToTest = test.durationFrames; |
| 38 |
| 39 // Verify that the output matches |
| 40 for (var j = 0; j < framesToTest; ++j) { |
33 if (expected[j] != renderedData[offsetFrame + j]) { | 41 if (expected[j] != renderedData[offsetFrame + j]) { |
34 // Copy from Float32Array to regular JavaScript array for error mess
age. | 42 // Copy from Float32Array to regular JavaScript array for error mess
age. |
35 var renderedArray = new Array(); | 43 var renderedArray = new Array(); |
36 for (var j = 0; j < test.renderFrames; ++j) | 44 for (var j = 0; j < test.renderFrames; ++j) |
37 renderedArray[j] = renderedData[offsetFrame + j]; | 45 renderedArray[j] = renderedData[offsetFrame + j]; |
38 | 46 |
39 var s = description + ": expected: " + expected + " actual: " + rend
eredArray; | 47 var s = description + ": expected: " + expected + " actual: " + rend
eredArray; |
40 testFailed(s); | 48 testFailed(s); |
41 success = false; | 49 success = false; |
42 break; | 50 break; |
43 } | 51 } |
44 } | 52 } |
45 | 53 |
| 54 // Verify that we get all zeroes after the buffer (or duration) has passed. |
| 55 for (var j = framesToTest; j < testSpacingFrames; ++j) { |
| 56 if (renderedData[offsetFrame + j]) { |
| 57 // Copy from Float32Array to regular JavaScript array for error mess
age. |
| 58 var renderedArray = new Array(); |
| 59 for (var j = framesToTest; j < testSpacingFrames; ++j) |
| 60 renderedArray[j - framesToTest] = renderedData[offsetFrame + j]; |
| 61 |
| 62 var s = description + ": expected: all zeroes actual: " + renderedAr
ray; |
| 63 testFailed(s); |
| 64 success = false; |
| 65 break; |
| 66 } |
| 67 } |
| 68 |
46 if (success) | 69 if (success) |
47 testPassed(description); | 70 testPassed(description); |
48 | 71 |
49 return success; | 72 return success; |
50 } | 73 } |
51 | 74 |
52 function checkAllTests(event) { | 75 function checkAllTests(event) { |
53 var renderedBuffer = event.renderedBuffer; | 76 var renderedBuffer = event.renderedBuffer; |
54 for (var i = 0; i < tests.length; ++i) | 77 for (var i = 0; i < tests.length; ++i) |
55 checkSingleTest(renderedBuffer, i); | 78 checkSingleTest(renderedBuffer, i); |
56 | 79 |
57 if (window.testRunner) | 80 if (window.testRunner) |
58 testRunner.notifyDone() | 81 testRunner.notifyDone() |
59 } | 82 } |
OLD | NEW |