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/AudioParam/audioparam-method-chaining.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-method-chaining.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-method-chaining.html b/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-method-chaining.html
index b0a172ae935217f164d43b14f99c2d8d29240cbd..3eef32f1e0e2296042a909e2c20da25d7bfd146b 100644
--- a/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-method-chaining.html
+++ b/third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-method-chaining.html
@@ -1,132 +1,143 @@
<!DOCTYPE html>
<html>
+ <head>
+ <title>
+ audioparam-method-chaining.html
+ </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>
+ <script src="../resources/audioparam-testing.js"></script>
+ </head>
+ <body>
+ <script id="layout-test-code">
+ let sampleRate = 8000;
+
+ // Create a dummy array for setValueCurveAtTime method.
+ let curveArray = new Float32Array([5.0, 6.0]);
+
+ // AudioNode dictionary with associated dummy arguments.
+ let methodDictionary = [
+ {name: 'setValueAtTime', args: [1.0, 0.0]},
+ {name: 'linearRampToValueAtTime', args: [2.0, 1.0]},
+ {name: 'exponentialRampToValueAtTime', args: [3.0, 2.0]},
+ {name: 'setTargetAtTime', args: [4.0, 2.0, 0.5]},
+ {name: 'setValueCurveAtTime', args: [curveArray, 5.0, 1.0]},
+ {name: 'cancelScheduledValues', args: [6.0]}
+ ];
+
+ let audit = Audit.createTaskRunner();
+
+ // Task: testing entries from the dictionary.
+ audit.define('from-dictionary', (task, should) => {
+ let context = new AudioContext();
+
+ methodDictionary.forEach(function(method) {
+ let sourceParam = context.createGain().gain;
+ should(
+ sourceParam === sourceParam[method.name](...method.args),
+ 'The return value of ' + sourceParam.constructor.name + '.' +
+ method.name + '()' +
+ ' matches the source AudioParam')
+ .beEqualTo(true);
+
+ });
+
+ task.done();
+ });
-<head>
- <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>
- <script src="../resources/audioparam-testing.js"></script>
-</head>
-
-<body>
- <script>
-
- var sampleRate = 8000;
-
- // Create a dummy array for setValueCurveAtTime method.
- var curveArray = new Float32Array([5.0, 6.0]);
-
- // AudioNode dictionary with associated dummy arguments.
- var methodDictionary = [
- { name: 'setValueAtTime', args: [1.0, 0.0] },
- { name: 'linearRampToValueAtTime', args: [2.0, 1.0] },
- { name: 'exponentialRampToValueAtTime', args: [3.0, 2.0] },
- { name: 'setTargetAtTime', args: [4.0, 2.0, 0.5] },
- { name: 'setValueCurveAtTime', args: [curveArray, 5.0, 1.0] },
- { name: 'cancelScheduledValues', args: [6.0] }
- ];
-
- var audit = Audit.createTaskRunner();
-
- // Task: testing entries from the dictionary.
- audit.define('from-dictionary', (task, should) => {
- var context = new AudioContext();
-
- methodDictionary.forEach(function (method) {
- var sourceParam = context.createGain().gain;
- should(sourceParam === sourceParam[method.name](...method.args),
- 'The return value of ' + sourceParam.constructor.name + '.' +
- method.name + '()' + ' matches the source AudioParam')
- .beEqualTo(true);
-
+ // Task: test method chaining with invalid operation.
+ audit.define('invalid-operation', (task, should) => {
+ let context = new OfflineAudioContext(1, sampleRate, sampleRate);
+ let osc = context.createOscillator();
+ let amp1 = context.createGain();
+ let amp2 = context.createGain();
+
+ osc.connect(amp1);
+ osc.connect(amp2);
+ amp1.connect(context.destination);
+ amp2.connect(context.destination);
+
+ // The first operation fails with an exception, thus the second one
+ // should not have effect on the parameter value. Instead, it should
+ // maintain the default value of 1.0.
+ should(
+ function() {
+ amp1.gain.setValueAtTime(0.25, -1.0)
+ .linearRampToValueAtTime(2.0, 1.0);
+ },
+ 'Calling setValueAtTime() with a negative end time')
+ .throw('InvalidAccessError');
+
+ // The first operation succeeds but the second fails due to zero target
+ // value for the exponential ramp. Thus only the first should have
+ // effect on the parameter value, setting the value to 0.5.
+ should(
+ function() {
+ amp2.gain.setValueAtTime(0.5, 0.0).exponentialRampToValueAtTime(
+ 0.0, 1.0);
+ },
+ 'Calling exponentialRampToValueAtTime() with a zero target value')
+ .throw('InvalidAccessError');
+
+ osc.start();
+ osc.stop(1.0);
+
+ context.startRendering()
+ .then(function(buffer) {
+ should(amp1.gain.value, 'The gain value of the first gain node')
+ .beEqualTo(1.0);
+ should(amp2.gain.value, 'The gain value of the second gain node')
+ .beEqualTo(0.5);
+ })
+ .then(() => task.done());
});
- task.done();
- });
-
- // Task: test method chaining with invalid operation.
- audit.define('invalid-operation', (task, should) => {
- var context = new OfflineAudioContext(1, sampleRate, sampleRate);
- var osc = context.createOscillator();
- var amp1 = context.createGain();
- var amp2 = context.createGain();
-
- osc.connect(amp1);
- osc.connect(amp2);
- amp1.connect(context.destination);
- amp2.connect(context.destination);
-
- // The first operation fails with an exception, thus the second one
- // should not have effect on the parameter value. Instead, it should
- // maintain the default value of 1.0.
- should(function () {
- amp1.gain
- .setValueAtTime(0.25, -1.0)
- .linearRampToValueAtTime(2.0, 1.0);
- },
- 'Calling setValueAtTime() with a negative end time')
- .throw('InvalidAccessError');
-
- // The first operation succeeds but the second fails due to zero target
- // value for the exponential ramp. Thus only the first should have effect
- // on the parameter value, setting the value to 0.5.
- should(function () {
- amp2.gain
- .setValueAtTime(0.5, 0.0)
- .exponentialRampToValueAtTime(0.0, 1.0);
- },
- 'Calling exponentialRampToValueAtTime() with a zero target value')
- .throw('InvalidAccessError');
-
- osc.start();
- osc.stop(1.0);
-
- context.startRendering().then(function (buffer) {
- should(amp1.gain.value, 'The gain value of the first gain node').beEqualTo(1.0);
- should(amp2.gain.value, 'The gain value of the second gain node').beEqualTo(0.5);
- }).then(() => task.done());
- });
-
- // Task: verify if the method chaining actually works. Create an arbitrary
- // envelope and compare the result with the expected one created by JS code.
- audit.define('verification', (task, should) => {
- var context = new OfflineAudioContext(1, sampleRate * 4, sampleRate);
- var constantBuffer = createConstantBuffer(context, 1, 1.0);
-
- var source = context.createBufferSource();
- source.buffer = constantBuffer;
- source.loop = true;
-
- var envelope = context.createGain();
-
- source.connect(envelope);
- envelope.connect(context.destination);
-
- envelope.gain
- .setValueAtTime(0.0, 0.0)
- .linearRampToValueAtTime(1.0, 1.0)
- .exponentialRampToValueAtTime(0.5, 2.0)
- .setTargetAtTime(0.001, 2.0, 0.5);
-
- source.start();
-
- context.startRendering().then(function (buffer) {
- var expectedEnvelope = createLinearRampArray(0.0, 1.0, 0.0, 1.0, sampleRate);
- expectedEnvelope.push(...createExponentialRampArray(1.0, 2.0, 1.0, 0.5, sampleRate));
- expectedEnvelope.push(...createExponentialApproachArray(2.0, 4.0, 0.5, 0.001, sampleRate, 0.5));
-
- // There are slight differences between JS implementation of AudioParam
- // envelope and the internal implementation. (i.e. double/float and
- // rounding up) The error threshold is adjusted empirically through
- // the local testing.
- should(buffer.getChannelData(0), 'The rendered envelope')
- .beCloseToArray(expectedEnvelope, {absoluteThreshold: 4.0532e-6});
- }).then(() => task.done());
- });
-
- audit.run();
- </script>
-</body>
+ // Task: verify if the method chaining actually works. Create an arbitrary
+ // envelope and compare the result with the expected one created by JS
+ // code.
+ audit.define('verification', (task, should) => {
+ let context = new OfflineAudioContext(1, sampleRate * 4, sampleRate);
+ let constantBuffer = createConstantBuffer(context, 1, 1.0);
+
+ let source = context.createBufferSource();
+ source.buffer = constantBuffer;
+ source.loop = true;
+
+ let envelope = context.createGain();
+
+ source.connect(envelope);
+ envelope.connect(context.destination);
+
+ envelope.gain.setValueAtTime(0.0, 0.0)
+ .linearRampToValueAtTime(1.0, 1.0)
+ .exponentialRampToValueAtTime(0.5, 2.0)
+ .setTargetAtTime(0.001, 2.0, 0.5);
+
+ source.start();
+
+ context.startRendering()
+ .then(function(buffer) {
+ let expectedEnvelope =
+ createLinearRampArray(0.0, 1.0, 0.0, 1.0, sampleRate);
+ expectedEnvelope.push(...createExponentialRampArray(
+ 1.0, 2.0, 1.0, 0.5, sampleRate));
+ expectedEnvelope.push(...createExponentialApproachArray(
+ 2.0, 4.0, 0.5, 0.001, sampleRate, 0.5));
+
+ // There are slight differences between JS implementation of
+ // AudioParam envelope and the internal implementation. (i.e.
+ // double/float and rounding up) The error threshold is adjusted
+ // empirically through the local testing.
+ should(buffer.getChannelData(0), 'The rendered envelope')
+ .beCloseToArray(
+ expectedEnvelope, {absoluteThreshold: 4.0532e-6});
+ })
+ .then(() => task.done());
+ });
+ audit.run();
+ </script>
+ </body>
</html>

Powered by Google App Engine
This is Rietveld 408576698