Index: third_party/WebKit/LayoutTests/webaudio/audioparam-clamp-time-to-current-time.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/audioparam-clamp-time-to-current-time.html b/third_party/WebKit/LayoutTests/webaudio/audioparam-clamp-time-to-current-time.html |
deleted file mode 100644 |
index 6c1217d0e768e3876c5cca8aadb511d4fa14df84..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/webaudio/audioparam-clamp-time-to-current-time.html |
+++ /dev/null |
@@ -1,238 +0,0 @@ |
-<!doctype html> |
-<html> |
- <head> |
- <title>Test Clamping of AudioParam Time</title> |
- <script src="../resources/testharness.js"></script> |
- <script src="../resources/testharnessreport.js"></script> |
- <script src="resources/audit-util.js"></script> |
- <script src="resources/audio-testing.js"></script> |
- </head> |
- |
- <body> |
- <script> |
- // Fairly arbitrary sample rate and render frames. |
- var sampleRate = 24000; |
- var renderFrames = 1024; |
- |
- var audit = Audit.createTaskRunner(); |
- |
- audit.defineTask("setValue", function (taskDone) { |
- var suspendFrame = 128; |
- createGraph({ |
- suspendFrame: suspendFrame, |
- method: "setValueAtTime", |
- initialGain: 0, |
- arg0: 1, |
- }) |
- .then(function (resultBuffer) { |
- // Just verify that the cosine wave actually started at |
- // suspendFrame. |
- var result = resultBuffer.getChannelData(0); |
- var success = true; |
- |
- success = Should("Output[0-" + (suspendFrame - 1) + "]", |
- result.slice(0, suspendFrame)) |
- .beConstantValueOf(0) && success; |
- success = Should("Output[" + suspendFrame + "-" + ( |
- renderFrames - 1) + "]", |
- result.slice(suspendFrame)) |
- .beConstantValueOf(1) && success; |
- |
- Should("*** setValueAtTime in the past", success) |
- .summarize( |
- "correctly clamped to current time", |
- "was not correctly clamped to current time"); |
- }) |
- .then(taskDone); |
- }); |
- |
- audit.defineTask("linear", function (taskDone) { |
- var suspendFrame = 128; |
- createGraph({ |
- suspendFrame: suspendFrame, |
- method: "linearRampToValueAtTime", |
- initialGain: 1, |
- arg0: 0.5 |
- }) |
- .then(function (resultBuffer) { |
- // Just verify that the cosine wave actually started at |
- // suspendFrame. |
- var result = resultBuffer.getChannelData(0); |
- var success = true; |
- |
- success = Should("Output[0-" + (suspendFrame - 1) + "]", |
- result.slice(0, suspendFrame)) |
- .beConstantValueOf(1) && success; |
- success = Should("Output[" + suspendFrame + "-" + ( |
- renderFrames - 1) + "]", |
- result.slice(suspendFrame)) |
- .beConstantValueOf(0.5) && success; |
- |
- Should("*** linearRampToValueAtTime in the past", success) |
- .summarize( |
- "correctly clamped to current time", |
- "was not correctly clamped to current time"); |
- }) |
- .then(taskDone); |
- }); |
- |
- audit.defineTask("exponential", function (taskDone) { |
- var suspendFrame = 128; |
- createGraph({ |
- suspendFrame: suspendFrame, |
- method: "exponentialRampToValueAtTime", |
- initialGain: 1, |
- arg0: 0.5 |
- }) |
- .then(function (resultBuffer) { |
- // Just verify that the cosine wave actually started at |
- // suspendFrame. |
- var result = resultBuffer.getChannelData(0); |
- var success = true; |
- |
- success = Should("Output[0-" + (suspendFrame - 1) + "]", |
- result.slice(0, suspendFrame)) |
- .beConstantValueOf(1) && success; |
- success = Should("Output[" + suspendFrame + "-" + ( |
- renderFrames - 1) + "]", |
- result.slice(suspendFrame)) |
- .beConstantValueOf(0.5) && success; |
- |
- Should("*** exponentialRampToValueAtTime in the past", |
- success) |
- .summarize( |
- "correctly clamped to current time", |
- "was not correctly clamped to current time"); |
- }) |
- .then(taskDone); |
- }); |
- |
- audit.defineTask("setTarget", function (taskDone) { |
- var suspendFrame = 128; |
- createGraph({ |
- suspendFrame: suspendFrame, |
- method: "setTargetAtTime", |
- initialGain: 1, |
- arg0: 0.5, |
- moreArgs: 0.1 |
- }) |
- .then(function (resultBuffer) { |
- // Just verify that the cosine wave actually started at |
- // suspendFrame. |
- var result = resultBuffer.getChannelData(0); |
- var success = true; |
- |
- success = Should("Output[0-" + (suspendFrame - 1) + "]", |
- result.slice(0, suspendFrame)) |
- .beConstantValueOf(1) && success; |
- // For the samples past the suspend time, we only care that first |
- // value is 1 and that the rest are not zero. |
- success = Should("Output[" + suspendFrame + "]", |
- result[suspendFrame]).beEqualTo(1) && success; |
- |
- var positive = result.slice(suspendFrame + 1).every(x => x > |
- 0); |
- success = Should("Output[" + (suspendFrame + 1) + "-" + |
- (renderFrames - 1) + "] contains only positive values", |
- positive) |
- .beEqualTo(true) && success; |
- |
- Should("*** setTargetAtTime in the past", success) |
- .summarize( |
- "correctly clamped to current time", |
- "was not correctly clamped to current time"); |
- }) |
- .then(taskDone); |
- }); |
- |
- audit.defineTask("setValueCurve", function (taskDone) { |
- var suspendFrame = 128; |
- createGraph({ |
- suspendFrame: suspendFrame, |
- method: "setValueCurveAtTime", |
- initialGain: 1, |
- arg0: Float32Array.from([2, 3]), |
- moreArgs: 0.1 |
- }) |
- .then(function (resultBuffer) { |
- // Just verify that the cosine wave actually started at |
- // suspendFrame. |
- var result = resultBuffer.getChannelData(0); |
- var success = true; |
- |
- success = Should("Output[0-" + (suspendFrame - 1) + "]", |
- result.slice(0, suspendFrame)) |
- .beConstantValueOf(1) && success; |
- |
- // The selected curve contains values greater than or equal to 2. |
- // Just verify that all values are greater than or equal to 2. |
- var biggerThan2 = result.slice(suspendFrame).every(x => x >= |
- 2); |
- success = Should("Output[" + suspendFrame + "-" + ( |
- renderFrames - 1) + "]", |
- biggerThan2) |
- .beEqualTo(true) && success; |
- |
- Should("*** setValueCurveAtTime in the past", success) |
- .summarize( |
- "correctly clamped to current time", |
- "was not correctly clamped to current time"); |
- }) |
- .then(taskDone); |
- }); |
- |
- |
- // Create the test graph consisting of a constant source followed by a |
- // gain node. The gain node automations will be tested. |options| |
- // specifies the parameters for the test including |
- // |
- // suspendFrame: time at which we schedule the automation call |
- // method: the name of automation method to be tested |
- // initialGain: the initial gain at time 0 for the gain node |
- // arg0: the first argument to be supplied to the automation method. |
- // moreArgs: An array of any additional arguments for the automation method. |
- function createGraph(options) { |
- var context = new OfflineAudioContext(1, renderFrames, sampleRate); |
- |
- var cosineWave = new PeriodicWave(context, { |
- real: [0, 1] |
- }); |
- |
- var src = new OscillatorNode(context, { |
- periodicWave: cosineWave, |
- frequency: 0 |
- }); |
- |
- // The gain node whose automations we're testing. |
- var gain = new GainNode(context, { |
- gain: 0 |
- }); |
- |
- src.connect(gain).connect(context.destination); |
- |
- gain.gain.setValueAtTime(options.initialGain, 0); |
- |
- // Suspend rendering so that we can call the automation method at the |
- // right time. |startTime| is the time for the automation method. It |
- // must be some time before the suspend time. |
- var suspendFrame = options.suspendFrame; |
- var startTime = (suspendFrame / 2) / context.sampleRate; |
- context.suspend(suspendFrame / context.sampleRate) |
- .then(function () { |
- // Call the appropriate automation method with the desired |
- // automation value, time, and any other arguments needed. |
- gain.gain[options.method](...[options.arg0, startTime, options.moreArgs]); |
- }) |
- .then(context.resume.bind(context)); |
- |
- // Start the source and begin rendering, returning the promise from |
- // rendering. |
- src.start(); |
- |
- return context.startRendering(); |
- } |
- |
- audit.runTasks(); |
- </script> |
- </body> |
-</html> |