| Index: third_party/WebKit/LayoutTests/webaudio/audioparam-initial-event.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/audioparam-initial-event.html b/third_party/WebKit/LayoutTests/webaudio/audioparam-initial-event.html
|
| deleted file mode 100644
|
| index 15b4843f76a4972ad84948ea9fed7d1e5496d952..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/webaudio/audioparam-initial-event.html
|
| +++ /dev/null
|
| @@ -1,176 +0,0 @@
|
| -<!doctype html>
|
| -<html>
|
| -
|
| -<head>
|
| - <script src="../resources/js-test.js"></script>
|
| - <script src="resources/compatibility.js"></script>
|
| - <script src="resources/audit-util.js"></script>
|
| - <script src="resources/audio-testing.js"></script>
|
| - <script src="resources/audioparam-testing.js"></script>
|
| - <title>AudioParam Initial Events </title>
|
| -</head>
|
| -
|
| -<body>
|
| - <script>
|
| - description("Test Automation Ramps without Initial Event");
|
| - window.jsTestIsAsync = true;
|
| -
|
| - var sampleRate = 48000;
|
| - // Number of frames in a rendering quantum.
|
| - var quantumFrames = 128;
|
| - // Test doesn't need to run for very long.
|
| - var renderDuration = 0.2;
|
| - var renderFrames = renderDuration * sampleRate;
|
| - var automationEndTime = 0.1;
|
| -
|
| - var audit = Audit.createTaskRunner();
|
| -
|
| - // The following tests start a ramp automation without an initial event. This should cause an
|
| - // initial event to be added implicitly to give a starting point.
|
| - audit.defineTask("linear-ramp", function (done) {
|
| - runTest("Linear ramp", {
|
| - automationFunction: function (node, value, time) {
|
| - node.gain.linearRampToValueAtTime(value, time);
|
| - },
|
| - referenceFunction: linearRamp,
|
| - // Experimentally determined threshold
|
| - threshold: 6.0003e-8,
|
| - // The starting value of the gain node
|
| - v0: 0.5,
|
| - // The target value of the automation
|
| - v1: 0,
|
| - })
|
| - .then(done);
|
| - });
|
| -
|
| - audit.defineTask("exponential-ramp", function (done) {
|
| - runTest("Exponential ramp", {
|
| - automationFunction: function (node, value, time) {
|
| - node.gain.exponentialRampToValueAtTime(value, time);
|
| - },
|
| - referenceFunction: exponentialRamp,
|
| - threshold: 2.3842e-6,
|
| - v0: 0.5,
|
| - v1: 2,
|
| - })
|
| - .then(done);
|
| - });
|
| -
|
| - // Same tests as above, but we delay the call to the automation function. This is to verify that
|
| - // the we still do the right thing after the context has started.
|
| - audit.defineTask("delayed-linear-ramp", function (done) {
|
| - runTest("Delayed linear ramp", {
|
| - automationFunction: function (node, value, time) {
|
| - node.gain.linearRampToValueAtTime(value, time);
|
| - },
|
| - referenceFunction: linearRamp,
|
| - // Experimentally determined threshold
|
| - threshold: 9.87968e-8,
|
| - // The starting value of the gain node
|
| - v0: 0.5,
|
| - // The target value of the automation
|
| - v1: 0,
|
| - delay: quantumFrames / sampleRate
|
| - })
|
| - .then(done);
|
| - });
|
| -
|
| - audit.defineTask("delayed-exponential-ramp", function (done) {
|
| - runTest("Delayed exponential ramp", {
|
| - automationFunction: function (node, value, time) {
|
| - node.gain.exponentialRampToValueAtTime(value, time);
|
| - },
|
| - referenceFunction: exponentialRamp,
|
| - // Experimentally determined threshold
|
| - threshold: 1.3948e-5,
|
| - // The starting value of the gain node
|
| - v0: 0.5,
|
| - // The target value of the automation
|
| - v1: 2,
|
| - delay: quantumFrames / sampleRate
|
| - })
|
| - .then(done);
|
| - });
|
| -
|
| - audit.defineTask("finish", function (done) {
|
| - finishJSTest();
|
| - done();
|
| - });
|
| -
|
| - audit.runTasks();
|
| -
|
| - // Generate the expected waveform for a linear ramp starting from the value |v0|, ramping to
|
| - // |v1| at time |endTime|. The time of |v0| is assumed to be 0. |nFrames| is how many frames
|
| - // to generate.
|
| - function linearRamp(v0, v1, startTime, endTime, nFrames) {
|
| - var expected = createLinearRampArray(startTime, endTime, v0, v1, sampleRate);
|
| - var preFiller = new Array(Math.floor(startTime * sampleRate));
|
| - var postFiller = new Array(nFrames - Math.ceil(endTime * sampleRate));
|
| - preFiller.fill(v0);
|
| - return preFiller.concat(expected.concat(postFiller.fill(v1)));
|
| - }
|
| -
|
| - // Generate the expected waveform for an exponential ramp starting from the value |v0|,
|
| - // ramping to |v1| at time |endTime|. The time of |v0| is assumed to be 0. |nFrames| is how
|
| - // many frames to generate.
|
| - function exponentialRamp(v0, v1, startTime, endTime, nFrames) {
|
| - var expected = createExponentialRampArray(startTime, endTime, v0, v1, sampleRate);
|
| - var preFiller = new Array(Math.floor(startTime * sampleRate));
|
| - preFiller.fill(v0);
|
| - var postFiller = new Array(nFrames - Math.ceil(endTime * sampleRate));
|
| - return preFiller.concat(expected.concat(postFiller.fill(v1)));
|
| - }
|
| -
|
| - // Run an automation test. |message| is the message to use for printing the results. |options|
|
| - // is a property bag containing the configuration of the test including the following:
|
| - //
|
| - // automationFunction - automation function to use,
|
| - // referenceFunction - function generating the expected result
|
| - // threshold - comparison threshold
|
| - // v0 - starting value
|
| - // v1 - end value for automation
|
| - function runTest(message, options) {
|
| - var automationFunction = options.automationFunction;
|
| - var referenceFunction = options.referenceFunction;
|
| - var threshold = options.threshold;
|
| - var v0 = options.v0;
|
| - var v1 = options.v1;
|
| - var delay = options.delay;
|
| -
|
| - var context = new OfflineAudioContext(1, renderFrames, sampleRate);
|
| -
|
| - // A constant source of amplitude 1.
|
| - var source = context.createBufferSource();
|
| - source.buffer = createConstantBuffer(context, 1, 1);
|
| - source.loop = true;
|
| -
|
| - // Automation is applied to a gain node
|
| - var gain = context.createGain();
|
| - gain.gain.value = v0;
|
| -
|
| - // Delay start of automation, if requested
|
| - if (delay) {
|
| - context.suspend(options.delay).then(function () {
|
| - automationFunction(gain, v1, automationEndTime);
|
| - context.resume();
|
| - });
|
| - } else {
|
| - automationFunction(gain, v1, automationEndTime);
|
| - }
|
| -
|
| - source.connect(gain);
|
| - gain.connect(context.destination);
|
| -
|
| - source.start();
|
| -
|
| - return context.startRendering()
|
| - .then(function (resultBuffer) {
|
| - var result = resultBuffer.getChannelData(0);
|
| - var expected = referenceFunction(v0, v1, delay ? delay : 0, automationEndTime, renderFrames);
|
| - Should(message, result).beCloseToArray(expected, threshold);
|
| - });
|
| - }
|
| - </script>
|
| -</body>
|
| -
|
| -</html>
|
|
|