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

Unified Diff: third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-limit.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/AudioParam/audioparam-setTargetAtTime-limit.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-limit.html b/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-limit.html
index 2106a7f49e492356cbff32182d32798952aa4f0f..0c1892f5f8a2e0939c86169eceda1f6bcc44a394 100644
--- a/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-limit.html
+++ b/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-limit.html
@@ -1,81 +1,87 @@
-<!doctype html>
+<!DOCTYPE html>
<html>
<head>
- <title>Test setTargetAtTime Approach to Limit</title>
+ <title>
+ Test setTargetAtTime Approach to Limit
+ </title>
<script src="../../resources/testharness.js"></script>
- <script src="../../resources/testharnessreport.js"></script>
+ <script src="../../resources/testharnessreport.js"></script>
<script src="../resources/audit-util.js"></script>
<script src="../resources/audit.js"></script>
<script src="../resources/audioparam-testing.js"></script>
</head>
-
<body>
- <script>
-
- var audit = Audit.createTaskRunner();
+ <script id="layout-test-code">
+ let audit = Audit.createTaskRunner();
- audit.define("approach 1", (task, should) => {
- var sampleRate = 48000;
+ audit.define('approach 1', (task, should) => {
+ let sampleRate = 48000;
- // A really short time constant so that setTargetAtTime approaches the limiting value well
- // before the end of the test.
- var timeConstant = 0.001;
+ // A really short time constant so that setTargetAtTime approaches the
+ // limiting value well before the end of the test.
+ let timeConstant = 0.001;
- // Find the time where setTargetAtTime is close enough to the limit. Since we're
- // approaching 1, use a value of eps smaller than kSetTargetThreshold (5e-7) in
- // AudioParamTimeline.cpp. This is to account for round-off in the actual implementation
- // (which uses a filter and not the formula.)
- var limitThreshold = 1e-7;
+ // Find the time where setTargetAtTime is close enough to the limit.
+ // Since we're approaching 1, use a value of eps smaller than
+ // kSetTargetThreshold (5e-7) in AudioParamTimeline.cpp. This is to
+ // account for round-off in the actual implementation (which uses a
+ // filter and not the formula.)
+ let limitThreshold = 1e-7;
runTest(should, {
- sampleRate: sampleRate,
- v0: 0,
- v1: 1,
- timeConstant: timeConstant,
- eps: limitThreshold,
- // Experimentally determined
- threshold: 2.4e-5
+ sampleRate: sampleRate,
+ v0: 0,
+ v1: 1,
+ timeConstant: timeConstant,
+ eps: limitThreshold,
+ // Experimentally determined
+ threshold: 2.4e-5
}).then(() => task.done());
})
- audit.define("approach 0", (task, should) => {
- // Use the equation for setTargetAtTime to figure out when we are close to 0:
+ audit.define('approach 0', (task, should) => {
+ // Use the equation for setTargetAtTime to figure out when we are close
+ // to 0:
//
// v(t) = exp(-t/tau)
//
// So find t such that exp(-t/tau) <= eps. Thus t >= - tau * log(eps).
//
- // For eps, use 1e-20 (kSetTargetZeroThreshold in AudioParamTimeline.cpp).
+ // For eps, use 1e-20 (kSetTargetZeroThreshold in
+ // AudioParamTimeline.cpp).
- var sampleRate = 48000;
+ let sampleRate = 48000;
- // A really short time constant so that setTargetAtTime approaches the limiting value well
- // before the end of the test.
- var timeConstant = 0.001;
+ // A really short time constant so that setTargetAtTime approaches the
+ // limiting value well before the end of the test.
+ let timeConstant = 0.001;
- // Find the time where setTargetAtTime is close enough to the limit. Since we're
- // approaching 0, use a value of eps smaller than kSetTargetZeroThreshold (1e-20) in
- // AudioParamTimeline.cpp. This is to account for round-off in the actual implementation
- // (which uses a filter and not the formula.)
- var limitThreshold = 1e-21;
+ // Find the time where setTargetAtTime is close enough to the limit.
+ // Since we're approaching 0, use a value of eps smaller than
+ // kSetTargetZeroThreshold (1e-20) in AudioParamTimeline.cpp. This is
+ // to account for round-off in the actual implementation (which uses a
+ // filter and not the formula.)
+ let limitThreshold = 1e-21;
runTest(should, {
- sampleRate: sampleRate,
- v0: 1,
- v1: 0,
- timeConstant: timeConstant,
- eps: limitThreshold,
- // Experimentally determined
- threshold: 1.3e-7
+ sampleRate: sampleRate,
+ v0: 1,
+ v1: 0,
+ timeConstant: timeConstant,
+ eps: limitThreshold,
+ // Experimentally determined
+ threshold: 1.3e-7
}).then(() => task.done());
});
function findLimitTime(v0, v1, timeConstant, eps) {
- // Find the time at which the setTargetAtTime is close enough to the target value |v1| where
- // we can consider the curve to have reached its limiting value.
+ // Find the time at which the setTargetAtTime is close enough to the
+ // target value |v1| where we can consider the curve to have reached its
+ // limiting value.
//
// If v1 = 0, |eps| is the absolute error between the actual value and
- // |v1|. Otherwise, |eps| is the relative error between the actual value and |v1|.
+ // |v1|. Otherwise, |eps| is the relative error between the actual
+ // value and |v1|.
//
// The curve is
//
@@ -94,22 +100,23 @@
// t >= timeConstant * log(abs(v1-v0)/eps/v1)
if (v1)
- return timeConstant * Math.log(Math.abs(v1-v0)/eps/v1);
+ return timeConstant * Math.log(Math.abs(v1 - v0) / eps / v1);
else
- return timeConstant * Math.log(v0/eps);
+ return timeConstant * Math.log(v0 / eps);
}
function runTest(should, options) {
- var renderLength = 1;
+ let renderLength = 1;
- var context = new OfflineAudioContext(1, renderLength * sampleRate, options.sampleRate);
+ let context = new OfflineAudioContext(
+ 1, renderLength * sampleRate, options.sampleRate);
- // A constant source
- var source = context.createBufferSource();
+ // A constant source
+ let source = context.createBufferSource();
source.buffer = createConstantBuffer(context, 1, 1);
source.loop = true;
- var gain = context.createGain();
+ let gain = context.createGain();
gain.gain.setValueAtTime(options.v0, 0);
gain.gain.setTargetAtTime(options.v1, 0, options.timeConstant);
@@ -118,27 +125,30 @@
source.start();
- return context.startRendering().then(function (resultBuffer) {
- var actual = resultBuffer.getChannelData(0);
- var expected = createExponentialApproachArray(0, renderLength,
- options.v0, options.v1,
- options.sampleRate, options.timeConstant);
-
- var message = "setTargetAtTime(" + options.v1 + ", 0, " + options.timeConstant + ")";
-
- // Determine where the tail of the curve begins. (Where the curve has basically reached
- // the limit value.)
- var tailTime = findLimitTime(options.v0, options.v1, options.timeConstant, options.eps);
- var tailFrame = Math.ceil(tailTime * options.sampleRate);
-
- should(actual.slice(0, tailFrame),
- "Initial output of " + tailFrame + " samples for " + message)
- .beCloseToArray(expected.slice(0, tailFrame), {
- absoluteThreshold: options.threshold
- });
-
- should(actual.slice(tailFrame), "Tail output for " + message)
- .containValues([options.v1]);
+ return context.startRendering().then(function(resultBuffer) {
+ let actual = resultBuffer.getChannelData(0);
+ let expected = createExponentialApproachArray(
+ 0, renderLength, options.v0, options.v1, options.sampleRate,
+ options.timeConstant);
+
+ let message = 'setTargetAtTime(' + options.v1 + ', 0, ' +
+ options.timeConstant + ')';
+
+ // Determine where the tail of the curve begins. (Where the curve has
+ // basically reached the limit value.)
+ let tailTime = findLimitTime(
+ options.v0, options.v1, options.timeConstant, options.eps);
+ let tailFrame = Math.ceil(tailTime * options.sampleRate);
+
+ should(
+ actual.slice(0, tailFrame),
+ 'Initial output of ' + tailFrame + ' samples for ' + message)
+ .beCloseToArray(
+ expected.slice(0, tailFrame),
+ {absoluteThreshold: options.threshold});
+
+ should(actual.slice(tailFrame), 'Tail output for ' + message)
+ .containValues([options.v1]);
});
}

Powered by Google App Engine
This is Rietveld 408576698