
PASS # AUDIT TASK RUNNER STARTED.
PASS Executing "from-dictionary"
PASS Executing "invalid-operation"
PASS Executing "verification"
PASS Audit report
PASS > [from-dictionary]
PASS   The return value of AudioParam.setValueAtTime() matches the source AudioParam is equal to true.
PASS   The return value of AudioParam.linearRampToValueAtTime() matches the source AudioParam is equal to true.
PASS   The return value of AudioParam.exponentialRampToValueAtTime() matches the source AudioParam is equal to true.
PASS   The return value of AudioParam.setTargetAtTime() matches the source AudioParam is equal to true.
PASS   The return value of AudioParam.setValueCurveAtTime() matches the source AudioParam is equal to true.
PASS   The return value of AudioParam.cancelScheduledValues() matches the source AudioParam is equal to true.
PASS < [from-dictionary] All assertions passed. (total 6 assertions)
PASS > [invalid-operation]
PASS   Calling setValueAtTime() with a negative end time threw RangeError: "startTime must be a positive value".
PASS   Calling exponentialRampToValueAtTime() with a zero target value threw RangeError: "value cannot be 0".
PASS   The gain value of the first gain node is equal to 1.
PASS   The gain value of the second gain node is equal to 0.5.
PASS < [invalid-operation] All assertions passed. (total 4 assertions)
PASS > [verification]
PASS   The rendered envelope equals [0,0.000125,0.00025,0.000375,0.0005,0.000625,0.00075,0.000875,0.001,0.001125,0.00125,0.001375,0.0015,0.001625,0.00175,0.001875...] with an element-wise tolerance of {"absoluteThreshold":0.000004,"relativeThreshold":0}.
PASS < [verification] All assertions passed. (total 1 assertions)
PASS # AUDIT TASK RUNNER FINISHED: 3 tasks ran successfully.

