[web-platform-tests] Pull Request: Rewrite RTC ICE and DTLS transport tests with alternative dependencies

wpt-pr-bot has just labeled a pull request from soareschen for https://github.com/w3c/web-platform-tests as "wg-webrtc":

==  Rewrite RTC ICE and DTLS transport tests with alternative dependencies  ==
Fixes #9110 and #9111.

This PR rewrites the tests for RTCDtlsTransport and RTCIceTransport to have separate tests for getting the transports from both RTP sender/receiver and SCTP transport. The common parts of the assertions are factored out into separate functions so that they can be tested in multiple test cases.

I have tried to write the tests as dependency-neutral as possible, and test this specifically on Microsoft Edge 42.17083. However there are still some issues that cause the tests to still fail on Edge:

- The RTCPeerConnection() constructor on Edge is non compliant and require minimally `new RTCPeerConnection({ iceServers: [] })` to work. On my Windows machine none of the WPT WebRTC tests that use `new RTCPeerConnection()` would pass. I made local modification to all constructors so that the tests can at least run on Edge locally.

- Edge only supports the legacy `addStream()` method and not `addTrack()` and `addTransceiver()`. I have specifically added a `addTrackOrTransceiver()` helper function that calls either `addTransceiver()`, `addTrack()`, or even `addStream()` so that we can continue testing the higher level features.

- Edge does not implement `getSenders()` and `getReceivers()`. This makes it impossible to retrieve the `RTCRtpSender` and `RTCRtpReceiver` instances so that we can get the DTLS and ICE transport objects. The workaround of getting hold of an `RTCRtpSender` using `addTrack()` also does not work, because Edge only implements `addStream()` which returns only `undefined`.

So despite my best effort I am unable to tweak the tests to pass on any of the current browsers. :( (perhaps the methodology also doesn't feel right)

If there are internal builds of browsers that have implemented the new features, please do run the tests and feedback on the test result is appreciated.

See https://github.com/w3c/web-platform-tests/pull/9424

Received on Wednesday, 7 February 2018 10:08:47 UTC