Click here to download the Blitz Browser!

WPT

wpt / webrtc / RTCPeerConnection-createDataChannel.html?rest

Spec: WebRTC ↗

Runs: Chrome 155.0.8039.0 (wpt@6ec9fd59f, 2026-09-03) | Firefox 157.0a1 (wpt@6ec9fd59f, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-795e1 (wpt@7e3d005d7, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

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

ChromeFirefoxSafariLadybirdServoBlitz
Total48/4848/4848/480/480/48NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
createDataChannel with no argument should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with closed connection should throw InvalidStateErrorPASSPASSPASSFAILFAIL
createDataChannel attribute default valuesPASSPASSPASSFAILFAIL
createDataChannel with provided parameters should initialize attributes to provided valuesPASSPASSPASSFAILFAIL
createDataChannel with label "foo" should succeedPASSPASSPASSFAILFAIL
createDataChannel with label null should succeedPASSPASSPASSFAILFAIL
createDataChannel with label undefined should succeedPASSPASSPASSFAILFAIL
createDataChannel with label lone surrogate should succeedPASSPASSPASSFAILFAIL
createDataChannel with ordered false should succeedPASSPASSPASSFAILFAIL
createDataChannel with ordered null/undefined should succeedPASSPASSPASSFAILFAIL
createDataChannel with maxPacketLifeTime 0 should succeedPASSPASSPASSFAILFAIL
createDataChannel with maxRetransmits 0 should succeedPASSPASSPASSFAILFAIL
createDataChannel with both maxPacketLifeTime and maxRetransmits undefined should succeedPASSPASSPASSFAILFAIL
createDataChannel with both maxPacketLifeTime and maxRetransmits should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with protocol "foo" should succeedPASSPASSPASSFAILFAIL
createDataChannel with protocol null should succeedPASSPASSPASSFAILFAIL
createDataChannel with protocol undefined should succeedPASSPASSPASSFAILFAIL
createDataChannel with protocol lone surrogate should succeedPASSPASSPASSFAILFAIL
createDataChannel with id 0 and negotiated true should succeed, and set the channel's idPASSPASSPASSFAILFAIL
createDataChannel with id 1 and negotiated true should succeed, and set the channel's idPASSPASSPASSFAILFAIL
createDataChannel with id 65534 and negotiated true should succeed, and set the channel's idPASSPASSPASSFAILFAIL
createDataChannel with id -1 and negotiated not set should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with id 65536 and negotiated not set should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with id -1 should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with id 65535 should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with id 65536 should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with too long label should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with too long label (2 byte unicode) should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with same label used twice should not throwPASSPASSPASSFAILFAIL
createDataChannel with negotiated true and id should succeedPASSPASSPASSFAILFAIL
createDataChannel with too long protocol should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with too long protocol (2 byte unicode) should throw TypeErrorPASSPASSPASSFAILFAIL
createDataChannel with maximum length label and protocol should succeedPASSPASSPASSFAILFAIL
createDataChannel with negotiated false should succeedPASSPASSPASSFAILFAIL
createDataChannel with negotiated false and id 42 should ignore the idPASSPASSPASSFAILFAIL
createDataChannel with negotiated true and id not defined should throw TypeErrorPASSPASSPASSFAILFAIL
Channels created (after SCTP connected) should have id assignedPASSPASSPASSFAILFAIL
Reusing a data channel id that is in use should throw OperationErrorPASSPASSPASSFAILFAIL
Reusing a data channel id that is in use (after setRemoteDescription) should throw OperationErrorPASSPASSPASSFAILFAIL
Reusing a data channel id that is in use (after setRemoteDescription, negotiated via DCEP) should throw OperationErrorPASSPASSPASSFAILFAIL
New datachannel should be in the connecting state after creation (after connection establishment)PASSPASSPASSFAILFAIL
addTrack, then creating datachannel, should negotiate properlyPASSPASSPASSFAILFAIL
addTrack, then creating datachannel, should negotiate properly when max-bundle is usedPASSPASSPASSFAILFAIL
Renegotiation with audio/video and datachannel should work properlyPASSPASSPASSFAILFAIL
New negotiated datachannel should be in the connecting state after creation (after connection establishment)PASSPASSPASSFAILFAIL
addTrack, then creating negotiated datachannel, should negotiate properlyPASSPASSPASSFAILFAIL
addTrack, then creating negotiated datachannel, should negotiate properly when max-bundle is usedPASSPASSPASSFAILFAIL
Renegotiation with audio/video and negotiated datachannel should work properlyPASSPASSPASSFAILFAIL