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

Unified Diff: third_party/WebKit/LayoutTests/webaudio/Analyser/realtimeanalyser-fftsize-reset.html

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/Analyser/realtimeanalyser-fftsize-reset.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/Analyser/realtimeanalyser-fftsize-reset.html b/third_party/WebKit/LayoutTests/webaudio/Analyser/realtimeanalyser-fftsize-reset.html
index 797b5058502283c38302d64734c368395b780b30..56894a3dd6eb4aa11fb2cbb48771665c2a24cfd8 100644
--- a/third_party/WebKit/LayoutTests/webaudio/Analyser/realtimeanalyser-fftsize-reset.html
+++ b/third_party/WebKit/LayoutTests/webaudio/Analyser/realtimeanalyser-fftsize-reset.html
@@ -1,120 +1,115 @@
-<!doctype html>
+<!DOCTYPE html>
<html>
<head>
- <title>Test fftSize Changes Resetting AnalyserNode State </title>
+ <title>
+ Test fftSize Changes Resetting AnalyserNode State
+ </title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../resources/audit-util.js"></script>
<script src="../resources/audit.js"></script>
</head>
-
<body>
- <script>
+ <script id="layout-test-code">
// Fairly arbitrary sample rate.
- var sampleRate = 24000;
+ let sampleRate = 24000;
- var audit = Audit.createTaskRunner();
+ let audit = Audit.createTaskRunner();
// Verify that setting the fftSize resets the memory for the FFT smoothing
// operation. Only a few of the possible variations are tested.
- audit.define("128->1024", (task, should) => {
+ audit.define('128->1024', (task, should) => {
testFFTSize(should, {
initialFFTSize: 128,
finalFFTSize: 1024,
- errorThreshold: {
- relativeThreshold: 1.9095e-6
- }
+ errorThreshold: {relativeThreshold: 1.9095e-6}
}).then(() => task.done());
});
- audit.define("512->256", (task, should) => {
+ audit.define('512->256', (task, should) => {
testFFTSize(should, {
initialFFTSize: 512,
finalFFTSize: 256,
- errorThreshold: {
- relativeThreshold: 1.8166e-6
- }
+ errorThreshold: {relativeThreshold: 1.8166e-6}
}).then(() => task.done());
});
function testFFTSize(should, options) {
- var {
- initialFFTSize, finalFFTSize, errorThreshold
- } = options;
+ let {initialFFTSize, finalFFTSize, errorThreshold} = options;
// The duration is fairly arbitrary as long as it's long enough for the
// FFT test.
- var context = new OfflineAudioContext(1, sampleRate, sampleRate);
+ let context = new OfflineAudioContext(1, sampleRate, sampleRate);
// Actual source doesn't matter but a sawtooth is a nice waveform with
// lots of harmonic content.
- var osc = context.createOscillator();
- osc.type = "sawtooth";
+ let osc = context.createOscillator();
+ osc.type = 'sawtooth';
// The analyser under test.
- var testAnalyser = context.createAnalyser();
+ let testAnalyser = context.createAnalyser();
testAnalyser.fftSize = initialFFTSize;
// The reference analyser. The fftSize is fixed to the desired value,
// and we turn off smoothing so that we get the FFT of the current time
// data.
- var refAnalyser = context.createAnalyser();
+ let refAnalyser = context.createAnalyser();
refAnalyser.fftSize = finalFFTSize;
refAnalyser.smoothingTimeConstant = 0;
// Setup the graph and start the oscillator.
- osc.connect(testAnalyser)
- .connect(context.destination);
- osc.connect(refAnalyser)
- .connect(context.destination);
+ osc.connect(testAnalyser).connect(context.destination);
+ osc.connect(refAnalyser).connect(context.destination);
osc.start();
// Let the analyser smooth a few FFTs (rather arbitrary, but should be
// more than one), then switch the size.
- var suspendFrame = 4 * initialFFTSize;
+ let suspendFrame = 4 * initialFFTSize;
context.suspend(suspendFrame / context.sampleRate)
- .then(function () {
- testAnalyser.fftSize = finalFFTSize;
- })
- .then(context.resume.bind(context));
+ .then(function() {
+ testAnalyser.fftSize = finalFFTSize;
+ })
+ .then(context.resume.bind(context));
// Wait some frames and grab the FFT data. This is fairly arbitrary
// too, and can be independent of the FFT sizes.
suspendFrame += 1024;
context.suspend(suspendFrame / context.sampleRate)
- .then(function () {
- var testFFT = new Float32Array(testAnalyser.frequencyBinCount);
- var refFFT = new Float32Array(refAnalyser.frequencyBinCount)
- var testSignal = new Float32Array(testAnalyser.fftSize);
- var refSignal = new Float32Array(refAnalyser.fftSize);
-
- testAnalyser.getFloatTimeDomainData(testSignal);
- refAnalyser.getFloatTimeDomainData(refSignal);
-
- testAnalyser.getFloatFrequencyData(testFFT);
- refAnalyser.getFloatFrequencyData(refFFT);
-
- // Convert the FFT data from dB to linear
- testFFT = testFFT.map(x => Math.pow(10, x / 20));
- refFFT = refFFT.map(x => Math.pow(10, x / 20));
-
- // The test data has smoothing applied, but the reference doesn't.
- // Apply the smoothing factor to the reference data.
- var smoothing = 1 - testAnalyser.smoothingTimeConstant;
- refFFT = refFFT.map(x => x * smoothing);
-
- // First a basic sanity check that the time domain signals are
- // exactly the same for both analysers.
- should(testSignal, "Time data")
- .beCloseToArray(refSignal, 0);
-
- should(testFFT, "Linear FFT data after setting fftSize = " + testAnalyser.fftSize)
- .beCloseToArray(refFFT, errorThreshold);
- })
- .then(context.resume.bind(context));
+ .then(function() {
+ let testFFT = new Float32Array(testAnalyser.frequencyBinCount);
+ let refFFT = new Float32Array(refAnalyser.frequencyBinCount)
+ let testSignal = new Float32Array(testAnalyser.fftSize);
+ let refSignal = new Float32Array(refAnalyser.fftSize);
+
+ testAnalyser.getFloatTimeDomainData(testSignal);
+ refAnalyser.getFloatTimeDomainData(refSignal);
+
+ testAnalyser.getFloatFrequencyData(testFFT);
+ refAnalyser.getFloatFrequencyData(refFFT);
+
+ // Convert the FFT data from dB to linear
+ testFFT = testFFT.map(x => Math.pow(10, x / 20));
+ refFFT = refFFT.map(x => Math.pow(10, x / 20));
+
+ // The test data has smoothing applied, but the reference doesn't.
+ // Apply the smoothing factor to the reference data.
+ let smoothing = 1 - testAnalyser.smoothingTimeConstant;
+ refFFT = refFFT.map(x => x * smoothing);
+
+ // First a basic sanity check that the time domain signals are
+ // exactly the same for both analysers.
+ should(testSignal, 'Time data').beCloseToArray(refSignal, 0);
+
+ should(
+ testFFT,
+ 'Linear FFT data after setting fftSize = ' +
+ testAnalyser.fftSize)
+ .beCloseToArray(refFFT, errorThreshold);
+ })
+ .then(context.resume.bind(context));
return context.startRendering();
}

Powered by Google App Engine
This is Rietveld 408576698