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

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

Issue 2895963003: Apply layout-test-tidy to LayoutTests/webaudio (Closed)
Patch Set: Created 3 years, 7 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
Index: third_party/WebKit/LayoutTests/webaudio/resources/biquad-testing.js
diff --git a/third_party/WebKit/LayoutTests/webaudio/resources/biquad-testing.js b/third_party/WebKit/LayoutTests/webaudio/resources/biquad-testing.js
index 747d844e6e5b3a8b2605b44a5b0bd0e20a701858..5539903783acff51a8a1dda41310b068069067ee 100644
--- a/third_party/WebKit/LayoutTests/webaudio/resources/biquad-testing.js
+++ b/third_party/WebKit/LayoutTests/webaudio/resources/biquad-testing.js
@@ -8,7 +8,7 @@ var renderedData;
var sampleRate = 44100.0;
var pulseLengthFrames = .1 * sampleRate;
-// Maximum allowed error for the test to succeed. Experimentally determined.
+// Maximum allowed error for the test to succeed. Experimentally determined.
var maxAllowedError = 5.9e-8;
// This must be large enough so that the filtered result is
@@ -21,7 +21,7 @@ var maxFilters = 5;
// How long to render. Must be long enough for all of the filters we
// want to test.
-var renderLengthSeconds = timeStep * (maxFilters + 1) ;
+var renderLengthSeconds = timeStep * (maxFilters + 1);
var renderLengthSamples = Math.round(renderLengthSeconds * sampleRate);
@@ -29,140 +29,143 @@ var renderLengthSamples = Math.round(renderLengthSeconds * sampleRate);
var nFilters;
function createImpulseBuffer(context, length) {
- var impulse = context.createBuffer(1, length, context.sampleRate);
- var data = impulse.getChannelData(0);
- for (var k = 1; k < data.length; ++k) {
- data[k] = 0;
- }
- data[0] = 1;
-
- return impulse;
+ let impulse = context.createBuffer(1, length, context.sampleRate);
+ let data = impulse.getChannelData(0);
+ for (let k = 1; k < data.length; ++k) {
+ data[k] = 0;
+ }
+ data[0] = 1;
+
+ return impulse;
}
function createTestAndRun(context, filterType, testParameters) {
- // To test the filters, we apply a signal (an impulse) to each of
- // the specified filters, with each signal starting at a different
- // time. The output of the filters is summed together at the
- // output. Thus for filter k, the signal input to the filter
- // starts at time k * timeStep. For this to work well, timeStep
- // must be large enough for the output of each filter to have
- // decayed to zero with timeStep seconds. That way the filter
- // outputs don't interfere with each other.
-
- var filterParameters = testParameters.filterParameters;
- nFilters = Math.min(filterParameters.length, maxFilters);
-
- signal = new Array(nFilters);
- filter = new Array(nFilters);
-
- impulse = createImpulseBuffer(context, pulseLengthFrames);
-
- // Create all of the signal sources and filters that we need.
- for (var k = 0; k < nFilters; ++k) {
- signal[k] = context.createBufferSource();
- signal[k].buffer = impulse;
-
- filter[k] = context.createBiquadFilter();
- filter[k].type = filterType;
- filter[k].frequency.value = context.sampleRate / 2 * filterParameters[k].cutoff;
- filter[k].detune.value = (filterParameters[k].detune === undefined) ? 0 : filterParameters[k].detune;
- filter[k].Q.value = filterParameters[k].q;
- filter[k].gain.value = filterParameters[k].gain;
-
- signal[k].connect(filter[k]);
- filter[k].connect(context.destination);
-
- signal[k].start(timeStep * k);
- }
-
- return context.startRendering()
- .then(buffer => {
- checkFilterResponse(buffer, filterType, testParameters);
- });
+ // To test the filters, we apply a signal (an impulse) to each of
+ // the specified filters, with each signal starting at a different
+ // time. The output of the filters is summed together at the
+ // output. Thus for filter k, the signal input to the filter
+ // starts at time k * timeStep. For this to work well, timeStep
+ // must be large enough for the output of each filter to have
+ // decayed to zero with timeStep seconds. That way the filter
+ // outputs don't interfere with each other.
+
+ let filterParameters = testParameters.filterParameters;
+ nFilters = Math.min(filterParameters.length, maxFilters);
+
+ signal = new Array(nFilters);
+ filter = new Array(nFilters);
+
+ impulse = createImpulseBuffer(context, pulseLengthFrames);
+
+ // Create all of the signal sources and filters that we need.
+ for (let k = 0; k < nFilters; ++k) {
+ signal[k] = context.createBufferSource();
+ signal[k].buffer = impulse;
+
+ filter[k] = context.createBiquadFilter();
+ filter[k].type = filterType;
+ filter[k].frequency.value =
+ context.sampleRate / 2 * filterParameters[k].cutoff;
+ filter[k].detune.value = (filterParameters[k].detune === undefined) ?
+ 0 :
+ filterParameters[k].detune;
+ filter[k].Q.value = filterParameters[k].q;
+ filter[k].gain.value = filterParameters[k].gain;
+
+ signal[k].connect(filter[k]);
+ filter[k].connect(context.destination);
+
+ signal[k].start(timeStep * k);
+ }
+
+ return context.startRendering().then(buffer => {
+ checkFilterResponse(buffer, filterType, testParameters);
+ });
}
function addSignal(dest, src, destOffset) {
- // Add src to dest at the given dest offset.
- for (var k = destOffset, j = 0; k < dest.length, j < src.length; ++k, ++j) {
- dest[k] += src[j];
- }
+ // Add src to dest at the given dest offset.
+ for (let k = destOffset, j = 0; k < dest.length, j < src.length; ++k, ++j) {
+ dest[k] += src[j];
+ }
}
function generateReference(filterType, filterParameters) {
- var result = new Array(renderLengthSamples);
- var data = new Array(renderLengthSamples);
- // Initialize the result array and data.
- for (var k = 0; k < result.length; ++k) {
- result[k] = 0;
- data[k] = 0;
- }
- // Make data an impulse.
- data[0] = 1;
-
- for (var k = 0; k < nFilters; ++k) {
- // Filter an impulse
- var detune = (filterParameters[k].detune === undefined) ? 0 : filterParameters[k].detune;
- var frequency = filterParameters[k].cutoff * Math.pow(2, detune / 1200); // Apply detune, converting from Cents.
-
- var filterCoef = createFilter(filterType,
- frequency,
- filterParameters[k].q,
- filterParameters[k].gain);
- var y = filterData(filterCoef, data, renderLengthSamples);
-
- // Accumulate this filtered data into the final output at the desired offset.
- addSignal(result, y, timeToSampleFrame(timeStep * k, sampleRate));
- }
-
- return result;
+ let result = new Array(renderLengthSamples);
+ let data = new Array(renderLengthSamples);
+ // Initialize the result array and data.
+ for (let k = 0; k < result.length; ++k) {
+ result[k] = 0;
+ data[k] = 0;
+ }
+ // Make data an impulse.
+ data[0] = 1;
+
+ for (let k = 0; k < nFilters; ++k) {
+ // Filter an impulse
+ let detune = (filterParameters[k].detune === undefined) ?
+ 0 :
+ filterParameters[k].detune;
+ let frequency = filterParameters[k].cutoff *
+ Math.pow(2, detune / 1200); // Apply detune, converting from Cents.
+
+ let filterCoef = createFilter(
+ filterType, frequency, filterParameters[k].q, filterParameters[k].gain);
+ let y = filterData(filterCoef, data, renderLengthSamples);
+
+ // Accumulate this filtered data into the final output at the desired
+ // offset.
+ addSignal(result, y, timeToSampleFrame(timeStep * k, sampleRate));
+ }
+
+ return result;
}
function checkFilterResponse(renderedBuffer, filterType, testParameters) {
- var filterParameters = testParameters.filterParameters;
- var maxAllowedError = testParameters.threshold;
- var should = testParameters.should;
+ let filterParameters = testParameters.filterParameters;
+ let maxAllowedError = testParameters.threshold;
+ let should = testParameters.should;
- renderedData = renderedBuffer.getChannelData(0);
+ renderedData = renderedBuffer.getChannelData(0);
- reference = generateReference(filterType, filterParameters);
+ reference = generateReference(filterType, filterParameters);
- var len = Math.min(renderedData.length, reference.length);
+ let len = Math.min(renderedData.length, reference.length);
- var success = true;
+ let success = true;
- // Maximum error between rendered data and expected data
- var maxError = 0;
+ // Maximum error between rendered data and expected data
+ let maxError = 0;
- // Sample offset where the maximum error occurred.
- var maxPosition = 0;
+ // Sample offset where the maximum error occurred.
+ let maxPosition = 0;
- // Number of infinities or NaNs that occurred in the rendered data.
- var invalidNumberCount = 0;
+ // Number of infinities or NaNs that occurred in the rendered data.
+ let invalidNumberCount = 0;
- should(nFilters, "Number of filters tested")
- .beEqualTo(filterParameters.length);
+ should(nFilters, 'Number of filters tested')
+ .beEqualTo(filterParameters.length);
- // Compare the rendered signal with our reference, keeping
- // track of the maximum difference (and the offset of the max
- // difference.) Check for bad numbers in the rendered output
- // too. There shouldn't be any.
- for (var k = 0; k < len; ++k) {
- var err = Math.abs(renderedData[k] - reference[k]);
- if (err > maxError) {
- maxError = err;
- maxPosition = k;
- }
- if (!isValidNumber(renderedData[k])) {
- ++invalidNumberCount;
- }
+ // Compare the rendered signal with our reference, keeping
+ // track of the maximum difference (and the offset of the max
+ // difference.) Check for bad numbers in the rendered output
+ // too. There shouldn't be any.
+ for (let k = 0; k < len; ++k) {
+ let err = Math.abs(renderedData[k] - reference[k]);
+ if (err > maxError) {
+ maxError = err;
+ maxPosition = k;
+ }
+ if (!isValidNumber(renderedData[k])) {
+ ++invalidNumberCount;
}
+ }
- should(invalidNumberCount,
- "Number of non-finite values in the rendered output")
- .beEqualTo(0);
+ should(
+ invalidNumberCount, 'Number of non-finite values in the rendered output')
+ .beEqualTo(0);
- should(maxError,
- "Max error in " + filterTypeName[filterType] + " response")
- .beLessThanOrEqualTo(maxAllowedError);
+ should(maxError, 'Max error in ' + filterTypeName[filterType] + ' response')
+ .beLessThanOrEqualTo(maxAllowedError);
}

Powered by Google App Engine
This is Rietveld 408576698