Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js

Issue 2675823002: Convert DelayNode tests to testharness (Closed)
Patch Set: Address review comments. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/webaudio/Delay/delaynode-scheduling-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js
diff --git a/third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js b/third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js
index 15f7c85ec5c7652d1b84428dc640c338a7885893..756abe3a04b4de27a9e6568598255454778629ba 100644
--- a/third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js
+++ b/third_party/WebKit/LayoutTests/webaudio/resources/delay-testing.js
@@ -19,52 +19,50 @@ function createToneBuffer(context, frequency, numberOfCycles, sampleRate) {
return audioBuffer;
}
-function checkDelayedResult(toneBuffer) {
- return function(event) {
- var renderedBuffer = event.renderedBuffer;
+function checkDelayedResult(renderedBuffer, toneBuffer, should) {
+ var sourceData = toneBuffer.getChannelData(0);
+ var renderedData = renderedBuffer.getChannelData(0);
- var sourceData = toneBuffer.getChannelData(0);
- var renderedData = renderedBuffer.getChannelData(0);
-
- var delayTimeFrames = delayTimeSeconds * sampleRate;
- var toneLengthFrames = toneLengthSeconds * sampleRate;
+ var delayTimeFrames = delayTimeSeconds * sampleRate;
+ var toneLengthFrames = toneLengthSeconds * sampleRate;
- var success = true;
-
- var n = renderedBuffer.length;
-
- for (var i = 0; i < n; ++i) {
- if (i < delayTimeFrames) {
- // Check that initial portion is 0 (since signal is delayed).
- if (renderedData[i] != 0) {
- testFailed("Initial portion is not 0 at frame " + i);
- success = false;
- break;
- }
- } else if (i >= delayTimeFrames && i < delayTimeFrames + toneLengthFrames) {
- // Make sure that the tone data is delayed by exactly the expected number of frames.
- var j = i - delayTimeFrames;
- if (renderedData[i] != sourceData[j]) {
- testFailed("Actual data does not match expected data at frame " + i);
- success = false;
- break;
- }
- } else {
- // Make sure we have silence after the delayed tone.
- if (renderedData[i] != 0) {
- testFailed("Final portion is not 0 at frame " + i);
- success = false;
- break;
- }
- }
- }
+ var success = true;
- if (success) {
- testPassed("Test signal was correctly delayed by " + delayTimeSeconds + " sec.");
+ var n = renderedBuffer.length;
+
+ for (var i = 0; i < n; ++i) {
+ if (i < delayTimeFrames) {
+ // Check that initial portion is 0 (since signal is delayed).
+ if (renderedData[i] != 0) {
+ should(renderedData[i],
+ "Initial portion expected to be 0 at frame " + i)
+ .beEqualTo(0);
+ success = false;
+ break;
+ }
+ } else if (i >= delayTimeFrames && i < delayTimeFrames +
+ toneLengthFrames) {
+ // Make sure that the tone data is delayed by exactly the expected number of frames.
+ var j = i - delayTimeFrames;
+ if (renderedData[i] != sourceData[j]) {
+ should(renderedData[i],
+ "Actual data at frame " + i)
+ .beEqualTo(sourceData[j]);
+ success = false;
+ break;
+ }
} else {
- testFailed("Test signal was not correctly delayed by " + delayTimeSeconds + " sec.");
+ // Make sure we have silence after the delayed tone.
+ if (renderedData[i] != 0) {
+ should(renderedData[j],
+ "Final portion at frame " + i)
+ .beEqualTo(0);
+ success = false;
+ break;
+ }
}
-
- finishJSTest();
}
+
+ should(success, "Delaying test signal by " + delayTimeSeconds + " sec was done")
+ .message("correctly", "incorrectly")
}
« no previous file with comments | « third_party/WebKit/LayoutTests/webaudio/Delay/delaynode-scheduling-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698