Click here to download the Blitz Browser!

WPT

wpt / webaudio / the-audio-api / the-audioparam-interface / audioparam-exceptional-values.html

Spec: Web Audio API ↗

Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total66/6666/6666/6666/6663/66NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
# AUDIT TASK RUNNER STARTED.PASSPASSPASSPASSPASS
Executing "initialize"PASSPASSPASSPASSPASS
Executing "test value"PASSPASSPASSPASSPASS
Executing "test time"PASSPASSPASSPASSPASS
Executing "test setValueCurve"PASSPASSPASSPASSPASS
Executing "special cases 1"PASSPASSPASSPASSPASS
Executing "special cases 2"PASSPASSPASSPASSPASS
Audit reportPASSPASSPASSPASSPASS
> [initialize] PASSPASSPASSPASSPASS
Creating context for testing did not throw an exception.PASSPASSPASSPASSPASS
< [initialize] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [test value] Test non-finite arguments for AudioParam valuePASSPASSPASSPASSPASS
gain.gain.setValueAtTime(Infinity,1) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(Infinity,1) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(Infinity,1) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setTargetAtTime(Infinity,1,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setValueAtTime(-Infinity,1) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(-Infinity,1) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(-Infinity,1) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setTargetAtTime(-Infinity,1,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setValueAtTime(NaN,1) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(NaN,1) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(NaN,1) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setTargetAtTime(NaN,1,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
< [test value] All assertions passed. (total 12 assertions)PASSPASSPASSPASSPASS
> [test time] Test non-finite arguments for AudioParam timePASSPASSPASSPASSPASS
gain.gain.setValueAtTime(1,Infinity) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(1,Infinity) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(1,Infinity) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,Infinity,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,1,Infinity) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setValueAtTime(1,-Infinity) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(1,-Infinity) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(1,-Infinity) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,-Infinity,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,1,-Infinity) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setValueAtTime(1,NaN) threw TypeError: "Failed to execute 'setValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.linearRampToValueAtTime(1,NaN) threw TypeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.exponentialRampToValueAtTime(1,NaN) threw TypeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,NaN,1) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setTargetAtTime(1,1,NaN) threw TypeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
< [test time] All assertions passed. (total 15 assertions)PASSPASSPASSPASSPASS
> [test setValueCurve] Test non-finite arguments for setValueCurveAtTimePASSPASSPASSPASSPASS
gain.gain.setValueCurveAtTime([0,0,0],Infinity,1) threw TypeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setValueCurveAtTime([0,0,0],-Infinity,1) threw TypeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setValueCurveAtTime([0,0,0],NaN,1) threw TypeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided double value is non-finite.".PASS
gain.gain.setValueCurveAtTime([1,2,Infinity,3],1,1) threw TypeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
gain.gain.setValueCurveAtTime([1,NaN,2,3],1,1) threw TypeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided float value is non-finite.".PASS
< [test setValueCurve] All assertions passed. (total 5 assertions)PASSPASSPASSPASSPASS
> [special cases 1] Test exceptions for finite valuesPASSPASSPASSPASSPASS
gain.gain.setValueAtTime(1,-1) threw RangeError: "Failed to execute 'setValueAtTime' on 'AudioParam': Time must be a finite non-negative number: -1".PASS
gain.gain.linearRampToValueAtTime(1,-1) threw RangeError: "Failed to execute 'linearRampToValueAtTime' on 'AudioParam': Time must be a finite non-negative number: -1".PASS
gain.gain.exponentialRampToValueAtTime(1,-1) threw RangeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': Time must be a finite non-negative number: -1".PASS
gain.gain.setTargetAtTime(1,-1,1) threw RangeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': Time must be a finite non-negative number: -1".PASS
gain.gain.setTargetAtTime(1,1,-1) threw RangeError: "Failed to execute 'setTargetAtTime' on 'AudioParam': Time constant must be a finite non-negative number: -1".PASS
gain.gain.setValueCurveAtTime([0,0,0],-1,1) threw RangeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': Time must be a finite non-negative number: -1".PASS
gain.gain.setValueCurveAtTime([0,0,0],1,-1) threw RangeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': Duration must be a finite positive number: -1".PASS
gain.gain.setValueCurveAtTime(curve, 1, 0) threw RangeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': Duration must be a finite positive number: 0".PASS
gain.gain.setValueCurveAtTime(curve, 1, -1) threw RangeError: "Failed to execute 'setValueCurveAtTime' on 'AudioParam': Duration must be a finite positive number: -1".PASS
< [special cases 1] All assertions passed. (total 9 assertions)PASSPASSPASSPASS
> [special cases 2] Test special cases for expeonentialRampPASSPASSPASSPASSPASS
gain.gain.exponentialRampToValueAtTime(0,1) threw RangeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The float target value provided (0) should not be in the range (-1.40130e-45, 1.40130e-45).".PASS
gain.gain.exponentialRampToValueAtTime(-1e-100,1) threw RangeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The float target value provided (0) should not be in the range (-1.40130e-45, 1.40130e-45).".PASS
gain.gain.exponentialRampToValueAtTime(1e-100,1) threw RangeError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The float target value provided (0) should not be in the range (-1.40130e-45, 1.40130e-45).".PASS
< [special cases 2] All assertions passed. (total 3 assertions)PASSPASSPASSPASSPASS
# AUDIT TASK RUNNER FINISHED: 6 tasks ran successfully.PASSPASSPASSPASS
gain.gain.setValueAtTime(Infinity,1) threw TypeError: "AudioParam.setValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(Infinity,1) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(Infinity,1) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(Infinity,1,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(-Infinity,1) threw TypeError: "AudioParam.setValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(-Infinity,1) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(-Infinity,1) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(-Infinity,1,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(NaN,1) threw TypeError: "AudioParam.setValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(NaN,1) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(NaN,1) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(NaN,1,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 1 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(1,Infinity) threw TypeError: "AudioParam.setValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(1,Infinity) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(1,Infinity) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,Infinity,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,1,Infinity) threw TypeError: "AudioParam.setTargetAtTime: Argument 3 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(1,-Infinity) threw TypeError: "AudioParam.setValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(1,-Infinity) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(1,-Infinity) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,-Infinity,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,1,-Infinity) threw TypeError: "AudioParam.setTargetAtTime: Argument 3 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(1,NaN) threw TypeError: "AudioParam.setValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.linearRampToValueAtTime(1,NaN) threw TypeError: "AudioParam.linearRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.exponentialRampToValueAtTime(1,NaN) threw TypeError: "AudioParam.exponentialRampToValueAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,NaN,1) threw TypeError: "AudioParam.setTargetAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setTargetAtTime(1,1,NaN) threw TypeError: "AudioParam.setTargetAtTime: Argument 3 is not a finite floating-point value.".PASS
gain.gain.setValueCurveAtTime([0,0,0],Infinity,1) threw TypeError: "AudioParam.setValueCurveAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setValueCurveAtTime([0,0,0],-Infinity,1) threw TypeError: "AudioParam.setValueCurveAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setValueCurveAtTime([0,0,0],NaN,1) threw TypeError: "AudioParam.setValueCurveAtTime: Argument 2 is not a finite floating-point value.".PASS
gain.gain.setValueCurveAtTime([1,2,Infinity,3],1,1) threw TypeError: "AudioParam.setValueCurveAtTime: Element of argument 1 is not a finite floating-point value.".PASS
gain.gain.setValueCurveAtTime([1,NaN,2,3],1,1) threw TypeError: "AudioParam.setValueCurveAtTime: Element of argument 1 is not a finite floating-point value.".PASS
gain.gain.setValueAtTime(1,-1) threw RangeError: "AudioParam.setValueAtTime: The start time for an AudioParam method must be non-negative.".PASS
gain.gain.linearRampToValueAtTime(1,-1) threw RangeError: "AudioParam.linearRampToValueAtTime: The end time for an AudioParam method must be non-negative.".PASS
gain.gain.exponentialRampToValueAtTime(1,-1) threw RangeError: "AudioParam.exponentialRampToValueAtTime: The end time for an AudioParam method must be non-negative.".PASS
gain.gain.setTargetAtTime(1,-1,1) threw RangeError: "AudioParam.setTargetAtTime: The start time for an AudioParam method must be non-negative.".PASS
gain.gain.setTargetAtTime(1,1,-1) threw RangeError: "AudioParam.setTargetAtTime: The start time for an AudioParam method must be non-negative.".PASS
gain.gain.setValueCurveAtTime([0,0,0],-1,1) threw RangeError: "AudioParam.setValueCurveAtTime: The start time for an AudioParam method must be non-negative.".PASS
gain.gain.setValueCurveAtTime([0,0,0],1,-1) threw RangeError: "AudioParam.setValueCurveAtTime: The curve duration for setValueCurveAtTime must be strictly positive.".PASS
gain.gain.setValueCurveAtTime(curve, 1, 0) threw RangeError: "AudioParam.setValueCurveAtTime: The curve duration for setValueCurveAtTime must be strictly positive.".PASS
gain.gain.setValueCurveAtTime(curve, 1, -1) threw RangeError: "AudioParam.setValueCurveAtTime: The curve duration for setValueCurveAtTime must be strictly positive.".PASS
gain.gain.exponentialRampToValueAtTime(0,1) threw RangeError: "AudioParam.exponentialRampToValueAtTime: The value passed to exponentialRampToValueAtTime must be non-zero.".PASS
gain.gain.exponentialRampToValueAtTime(-1e-100,1) threw RangeError: "AudioParam.exponentialRampToValueAtTime: The value passed to exponentialRampToValueAtTime must be non-zero.".PASS
gain.gain.exponentialRampToValueAtTime(1e-100,1) threw RangeError: "AudioParam.exponentialRampToValueAtTime: The value passed to exponentialRampToValueAtTime must be non-zero.".PASS
gain.gain.setValueAtTime(Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(Infinity,1,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(-Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(-Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(-Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(-Infinity,1,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(NaN,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(NaN,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(NaN,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(NaN,1,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(1,Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(1,Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(1,Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,1,Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(1,-Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(1,-Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(1,-Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,-Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,1,-Infinity) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(1,NaN) threw TypeError: "The provided value is non-finite".PASS
gain.gain.linearRampToValueAtTime(1,NaN) threw TypeError: "The provided value is non-finite".PASS
gain.gain.exponentialRampToValueAtTime(1,NaN) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,NaN,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setTargetAtTime(1,1,NaN) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueCurveAtTime([0,0,0],Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueCurveAtTime([0,0,0],-Infinity,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueCurveAtTime([0,0,0],NaN,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueCurveAtTime([1,2,Infinity,3],1,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueCurveAtTime([1,NaN,2,3],1,1) threw TypeError: "The provided value is non-finite".PASS
gain.gain.setValueAtTime(1,-1) threw RangeError: "startTime must be a positive value".PASS
gain.gain.linearRampToValueAtTime(1,-1) threw RangeError: "endTime must be a positive value".PASS
gain.gain.exponentialRampToValueAtTime(1,-1) threw RangeError: "endTime must be a positive value".PASS
gain.gain.setTargetAtTime(1,-1,1) threw RangeError: "startTime must be a positive value".PASS
gain.gain.setTargetAtTime(1,1,-1) threw RangeError: "timeConstant must be a positive value".PASS
gain.gain.setValueCurveAtTime([0,0,0],-1,1) threw RangeError: "startTime must be a positive value".PASS
gain.gain.setValueCurveAtTime([0,0,0],1,-1) threw RangeError: "duration must be a strictly positive value".PASS
gain.gain.setValueCurveAtTime(curve, 1, 0) threw RangeError: "duration must be a strictly positive value".PASS
gain.gain.setValueCurveAtTime(curve, 1, -1) threw RangeError: "duration must be a strictly positive value".PASS
gain.gain.exponentialRampToValueAtTime(0,1) threw RangeError: "value cannot be 0".PASS
gain.gain.exponentialRampToValueAtTime(-1e-100,1) threw RangeError: "value cannot be 0".PASS
gain.gain.exponentialRampToValueAtTime(1e-100,1) threw RangeError: "value cannot be 0".PASS
gain.gain.setValueAtTime(Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(Infinity,1,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(-Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(-Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(-Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(-Infinity,1,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(NaN,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(NaN,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(NaN,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(NaN,1,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(1,Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(1,Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(1,Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,1,Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(1,-Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(1,-Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(1,-Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,-Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,1,-Infinity) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(1,NaN) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.linearRampToValueAtTime(1,NaN) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.exponentialRampToValueAtTime(1,NaN) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,NaN,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setTargetAtTime(1,1,NaN) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueCurveAtTime([0,0,0],Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueCurveAtTime([0,0,0],-Infinity,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueCurveAtTime([0,0,0],NaN,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueCurveAtTime([1,2,Infinity,3],1,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueCurveAtTime([1,NaN,2,3],1,1) threw TypeError: "this argument is not a finite floating-point value".PASS
gain.gain.setValueAtTime(1,-1) threw RangeError: "start time -1 should not be negative".PASS
gain.gain.linearRampToValueAtTime(1,-1) threw RangeError: "end time -1 should not be negative".PASS
gain.gain.exponentialRampToValueAtTime(1,-1) threw RangeError: "end time -1 should not be negative".PASS
gain.gain.setTargetAtTime(1,-1,1) threw RangeError: "start time -1 should not be negative".PASS
gain.gain.setTargetAtTime(1,1,-1) threw RangeError: "time constant -1 should not be negative".PASS
gain.gain.setValueCurveAtTime([0,0,0],-1,1) threw RangeError: "start time -1 should not be negative".PASS
gain.gain.setValueCurveAtTime([0,0,0],1,-1) threw RangeError: "end time -1 should not be negative".PASS
X gain.gain.setValueCurveAtTime(curve, 1, 0) did not throw an exception.FAIL
gain.gain.setValueCurveAtTime(curve, 1, -1) threw RangeError: "end time -1 should not be negative".PASS
< [special cases 1] 1 out of 9 assertions were failed.FAIL
gain.gain.exponentialRampToValueAtTime(0,1) threw RangeError: "target value 0 should not be 0".PASS
gain.gain.exponentialRampToValueAtTime(-1e-100,1) threw RangeError: "target value -0 should not be 0".PASS
gain.gain.exponentialRampToValueAtTime(1e-100,1) threw RangeError: "target value 0 should not be 0".PASS
# AUDIT TASK RUNNER FINISHED: 1 out of 6 tasks were failed.FAIL
gain.gain.setValueAtTime(Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(Infinity,1,1) threw TypeError: "Expected target to be a finite floating-point number".PASS
gain.gain.setValueAtTime(-Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(-Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(-Infinity,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(-Infinity,1,1) threw TypeError: "Expected target to be a finite floating-point number".PASS
gain.gain.setValueAtTime(NaN,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(NaN,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(NaN,1) threw TypeError: "Expected value to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(NaN,1,1) threw TypeError: "Expected target to be a finite floating-point number".PASS
gain.gain.setValueAtTime(1,Infinity) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(1,Infinity) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(1,Infinity) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,Infinity,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,1,Infinity) threw TypeError: "Expected timeConstant to be a finite floating-point number".PASS
gain.gain.setValueAtTime(1,-Infinity) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(1,-Infinity) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(1,-Infinity) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,-Infinity,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,1,-Infinity) threw TypeError: "Expected timeConstant to be a finite floating-point number".PASS
gain.gain.setValueAtTime(1,NaN) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.linearRampToValueAtTime(1,NaN) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.exponentialRampToValueAtTime(1,NaN) threw TypeError: "Expected endTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,NaN,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setTargetAtTime(1,1,NaN) threw TypeError: "Expected timeConstant to be a finite floating-point number".PASS
gain.gain.setValueCurveAtTime([0,0,0],Infinity,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setValueCurveAtTime([0,0,0],-Infinity,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setValueCurveAtTime([0,0,0],NaN,1) threw TypeError: "Expected startTime to be a finite floating-point number".PASS
gain.gain.setValueCurveAtTime([1,2,Infinity,3],1,1) threw TypeError: "Expected values to be a finite floating-point number".PASS
gain.gain.setValueCurveAtTime([1,NaN,2,3],1,1) threw TypeError: "Expected values to be a finite floating-point number".PASS
gain.gain.setValueAtTime(1,-1) threw RangeError: "startTime must not be negative".PASS
gain.gain.linearRampToValueAtTime(1,-1) threw RangeError: "endTime must not be negative".PASS
gain.gain.exponentialRampToValueAtTime(1,-1) threw RangeError: "endTime must not be negative".PASS
gain.gain.setTargetAtTime(1,-1,1) threw RangeError: "startTime must not be negative".PASS
gain.gain.setTargetAtTime(1,1,-1) threw RangeError: "timeConstant must not be negative".PASS
gain.gain.setValueCurveAtTime([0,0,0],-1,1) threw RangeError: "startTime must not be negative".PASS
gain.gain.setValueCurveAtTime([0,0,0],1,-1) threw RangeError: "duration must be positive".PASS
gain.gain.setValueCurveAtTime(curve, 1, 0) threw RangeError: "duration must be positive".PASS
gain.gain.setValueCurveAtTime(curve, 1, -1) threw RangeError: "duration must be positive".PASS
gain.gain.exponentialRampToValueAtTime(0,1) threw RangeError: "value must not be zero".PASS
gain.gain.exponentialRampToValueAtTime(-1e-100,1) threw RangeError: "value must not be zero".PASS
gain.gain.exponentialRampToValueAtTime(1e-100,1) threw RangeError: "value must not be zero".PASS