Click here to download the Blitz Browser!

WPT

wpt / webaudio / the-audio-api / the-audionode-interface / audionode-disconnect.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@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

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

ChromeFirefoxSafariLadybirdServoBlitz
Total40/4040/4040/4040/4031/40NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
# AUDIT TASK RUNNER STARTED.PASSPASSPASSPASSPASS
Executing "disconnect()"PASSPASSPASSPASSPASS
Executing "disconnect(output)"PASSPASSPASSPASSPASS
Executing "disconnect(AudioNode)"PASSPASSPASSPASSPASS
Executing "disconnect(AudioNode, output)"PASSPASSPASSPASSPASS
Executing "disconnect(AudioNode, output, input)"PASSPASSPASSPASSPASS
Executing "exceptions"PASSPASSPASSPASSPASS
Executing "disabled-outputs"PASSPASSPASSPASSPASS
Audit reportPASSPASSPASSPASSPASS
> [disconnect()] PASSPASSPASSPASSPASS
Channel #0 contains only the constant 0.PASSPASSPASSPASSPASS
< [disconnect()] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [disconnect(output)] PASSPASSPASSPASSPASS
Channel #0 contains only the constant 4.PASSPASSPASSPASSPASS
< [disconnect(output)] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [disconnect(AudioNode)] PASSPASSPASSPASSPASS
Channel #0 contains only the constant 2.PASSPASSPASSPASSPASS
< [disconnect(AudioNode)] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [disconnect(AudioNode, output)] PASSPASSPASSPASSPASS
Channel #0 contains only the constant 3.PASSPASSPASSPASSPASS
< [disconnect(AudioNode, output)] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
> [disconnect(AudioNode, output, input)] PASSPASSPASSPASSPASS
Channel #0 contains only the constant 1.PASSPASSPASSPASSPASS
Channel #1 contains only the constant 2.PASSPASSPASSPASSPASS
Channel #2 contains only the constant 0.PASSPASSPASSPASSPASS
< [disconnect(AudioNode, output, input)] All assertions passed. (total 3 assertions)PASSPASSPASSPASSPASS
> [exceptions] PASSPASSPASSPASSPASS
splitter.disconnect(2) threw IndexSizeError: "Failed to execute 'disconnect' on 'AudioNode': The output index provided (2) is outside the range [0, 1].".PASS
Disconnecting a connection twice did not throw an exception.PASSPASSPASSPASSPASS
gain1.disconnect(gain2) threw InvalidAccessError: "Failed to execute 'disconnect' on 'AudioNode': the given destination is not connected.".PASS
gain1.disconnect(gain3) threw InvalidAccessError: "Failed to execute 'disconnect' on 'AudioNode': the given destination is not connected.".PASS
splitter.disconnect(gain2, 2) threw IndexSizeError: "Failed to execute 'disconnect' on 'AudioNode': The output index provided (2) is outside the range [0, 1].".PASS
splitter.disconnect(gain1, 0) threw InvalidAccessError: "Failed to execute 'disconnect' on 'AudioNode': output (0) is not connected to the given destination.".PASS
splitter.disconnect(gain3, 0, 0) threw InvalidAccessError: "Failed to execute 'disconnect' on 'AudioNode': output (0) is not connected to the input (0) of the destination.".PASS
splitter.disconnect(merger, 3, 0) threw IndexSizeError: "Failed to execute 'disconnect' on 'AudioNode': The output index provided (3) is outside the range [0, 1].".PASS
< [exceptions] All assertions passed. (total 8 assertions)PASSPASSPASSPASS
> [disabled-outputs] PASSPASSPASSPASSPASS
Disabled outputs handled correctlyPASSPASSPASSPASSPASS
< [disabled-outputs] All assertions passed. (total 1 assertions)PASSPASSPASSPASSPASS
# AUDIT TASK RUNNER FINISHED: 7 tasks ran successfully.PASSPASSPASSPASS
splitter.disconnect(2) threw IndexSizeError: "AudioNode.disconnect: Output index 2 is out of bounds".PASS
gain1.disconnect(gain2) threw InvalidAccessError: "AudioNode.disconnect: Trying to disconnect from a node we're not connected to".PASS
gain1.disconnect(gain3) threw InvalidAccessError: "AudioNode.disconnect: Trying to disconnect from a node we're not connected to".PASS
splitter.disconnect(gain2, 2) threw IndexSizeError: "AudioNode.disconnect: Output index 2 is out of bounds".PASS
splitter.disconnect(gain1, 0) threw InvalidAccessError: "AudioNode.disconnect: Trying to disconnect from a node we're not connected to".PASS
splitter.disconnect(gain3, 0, 0) threw InvalidAccessError: "AudioNode.disconnect: Trying to disconnect from a node we're not connected to".PASS
splitter.disconnect(merger, 3, 0) threw IndexSizeError: "AudioNode.disconnect: Output index 3 is out of bounds".PASS
splitter.disconnect(2) threw IndexSizeError: "output index is out of bounds".PASS
gain1.disconnect(gain2) threw InvalidAccessError: "The given destination is not connected".PASS
gain1.disconnect(gain3) threw InvalidAccessError: "The given destination is not connected".PASS
splitter.disconnect(gain2, 2) threw IndexSizeError: "output index is out of bounds".PASS
splitter.disconnect(gain1, 0) threw InvalidAccessError: "The given destination is not connected".PASS
splitter.disconnect(gain3, 0, 0) threw InvalidAccessError: "The given destination is not connected".PASS
splitter.disconnect(merger, 3, 0) threw IndexSizeError: "output index is out of bounds".PASS
X splitter.disconnect(2) did not throw an exception.FAIL
X gain1.disconnect(gain2) did not throw an exception.FAIL
X gain1.disconnect(gain3) did not throw an exception.FAIL
X splitter.disconnect(gain2, 2) did not throw an exception.FAIL
X splitter.disconnect(gain1, 0) did not throw an exception.FAIL
X splitter.disconnect(gain3, 0, 0) did not throw an exception.FAIL
X splitter.disconnect(merger, 3, 0) did not throw an exception.FAIL
< [exceptions] 7 out of 8 assertions were failed.FAIL
# AUDIT TASK RUNNER FINISHED: 1 out of 7 tasks were failed.FAIL
splitter.disconnect(2) threw IndexSizeError: "Output index 2 exceeds number of outputs".PASS
gain1.disconnect(gain2) threw InvalidAccessError: "No connection to given AudioNode".PASS
gain1.disconnect(gain3) threw InvalidAccessError: "No connection to given AudioNode".PASS
splitter.disconnect(gain2, 2) threw IndexSizeError: "Output index 2 exceeds number of outputs".PASS
splitter.disconnect(gain1, 0) threw InvalidAccessError: "No connection from output 0 to given AudioNode".PASS
splitter.disconnect(gain3, 0, 0) threw InvalidAccessError: "No connection from output 0 to input 0 of given AudioNode".PASS
splitter.disconnect(merger, 3, 0) threw IndexSizeError: "Output index 3 exceeds number of outputs".PASS