blob: 5af3ffb220bc04ebaeb517eba48cfbae324bb561 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script src="resources/compatibility.js"></script>
<script src="resources/audio-testing.js"></script>
<script src="resources/audioparam-testing.js"></script>
<script src="../resources/js-test.js"></script>
<title>Test AudioParam.exponentialRampToValueAtTime</title>
<div id="description"></div>
<div id="console"></div>
description("Test AudioParam exponentialRampToValueAtTime() functionality.");
// Play a long DC signal out through an AudioGainNode, and call setValueAtTime() and
// exponentialRampToValueAtTime() at regular intervals to set the starting and ending values
// for an exponential ramp. Each time interval has a ramp with a different starting and
// ending value so that there is a discontinuity at each time interval boundary. The
// discontinuity is for testing timing. Also, we alternate between an increasing and
// decreasing ramp for each interval.
// Number of tests to run.
var numberOfTests = 100;
// Max allowed difference between the rendered data and the expected result.
var maxAllowedError = 1.222e-5;
// The AudioGainNode starts with this value instead of the default value.
var initialValue = 100;
// Set the gain node value to the specified value at the specified time.
function setValue(value, time)
gainNode.gain.setValueAtTime(value, time);
// Generate an exponential ramp ending at time |endTime| with an ending value of |value|.
function generateRamp(value, startTime, endTime)
// |startTime| is ignored because the exponential ramp
// uses the value from the setValueAtTime() call above.
gainNode.gain.exponentialRampToValueAtTime(value, endTime)
function runTest()
successfullyParsed = true;