Skip to content

Commit

Permalink
Move data channel ID tests to new file, follow foolip's other advice.
Browse files Browse the repository at this point in the history
  • Loading branch information
taylor-b committed May 7, 2017
1 parent 1f5e055 commit 97c3ec1
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 60 deletions.
60 changes: 60 additions & 0 deletions webrtc/RTCDataChannel-id.html
@@ -0,0 +1,60 @@
<!doctype html>
<meta charset=utf-8>
<title>RTCDataChannel id attribute</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
'use strict';

// This and the test below verify that after a description is set that
// negotiates the DTLS role used by SCTP, data channels with unset IDs
// have IDs set according to the rules in rtcweb-data-channel.
promise_test(test => {
const pc = new RTCPeerConnection;
const channel = pc.createDataChannel('');
return pc.createOffer()
.then(offer => pc.setLocalDescription(offer))
.then(() => {
// Turn our own offer SDP into valid answer SDP by setting the DTLS role to
// "active".
const answer = {
type: "answer",
sdp: pc.localDescription.sdp.replace("actpass", "active")
};
return pc.setRemoteDescription(answer);
})
.then(() => {
// Since the remote description had an "active" DTLS role, we're the server
// and should use odd data channel IDs, according to rtcweb-data-channel.
assert_equals(channel.id % 2, 1, 'id');
const another_channel = pc.createDataChannel('another');
assert_equals(another_channel.id % 2, 1, 'id');
assert_not_equals(channel.id, another_channel.id);
})
}, "DTLS client uses odd data channel IDs");

promise_test(test => {
const pc = new RTCPeerConnection;
const channel = pc.createDataChannel('');
return pc.createOffer()
.then(offer => pc.setLocalDescription(offer))
.then(() => {
// Turn our own offer SDP into valid answer SDP by setting the DTLS role to
// "passive".
const answer = {
type: "answer",
sdp: pc.localDescription.sdp.replace("actpass", "passive")
};
return pc.setRemoteDescription(answer);
})
.then(() => {
// Since the remote description had a "passive" DTLS role, we're the client
// and should use even data channel IDs, according to rtcweb-data-channel.
assert_equals(channel.id % 2, 0, 'id');
const another_channel = pc.createDataChannel('another');
assert_equals(another_channel.id % 2, 0, 'id');
assert_not_equals(channel.id, another_channel.id);
})
}, "DTLS server uses even data channel IDs");

</script>
60 changes: 0 additions & 60 deletions webrtc/RTCPeerConnection-createDataChannel.html
Expand Up @@ -35,66 +35,6 @@
assert_equals(channel.priority, 'low', 'priority');
}, 'createDataChannel defaults');

async_test(test => {
const pc = new RTCPeerConnection;
const channel = pc.createDataChannel('');
pc.createOffer()
.then(function(offer) {
return pc.setLocalDescription(offer);
})
.then(function() {
// Turn our own offer SDP into valid answer SDP by setting the DTLS role to
// "active".
const answer = new RTCSessionDescription({
type: "answer",
sdp: pc.localDescription.sdp.replace("actpass", "active")
});
return pc.setRemoteDescription(answer);
})
.then(function() {
// Since the remote description had an "active" DTLS role, we're the server
// and should use odd data channel IDs, according to rtcweb-data-channel.
assert_equals(channel.id % 2, 1, 'id');
const another_channel = pc.createDataChannel('another');
assert_equals(another_channel.id % 2, 1, 'id');
assert_not_equals(channel.id, another_channel.id);
test.done();
})
.catch(test.step_func(function(e) {
assert_unreached('Error ' + e.name + ': ' + e.message);
}));
}, "DTLS client uses odd data channel IDs");

async_test(test => {
const pc = new RTCPeerConnection;
const channel = pc.createDataChannel('');
pc.createOffer()
.then(function(offer) {
return pc.setLocalDescription(offer);
})
.then(function() {
// Turn our own offer SDP into valid answer SDP by setting the DTLS role to
// "passive".
const answer = new RTCSessionDescription({
type: "answer",
sdp: pc.localDescription.sdp.replace("actpass", "passive")
});
return pc.setRemoteDescription(answer);
})
.then(function() {
// Since the remote description had a "passive" DTLS role, we're the client
// and should use even data channel IDs, according to rtcweb-data-channel.
assert_equals(channel.id % 2, 0, 'id');
const another_channel = pc.createDataChannel('another');
assert_equals(another_channel.id % 2, 0, 'id');
assert_not_equals(channel.id, another_channel.id);
test.done();
})
.catch(test.step_func(function(e) {
assert_unreached('Error ' + e.name + ': ' + e.message);
}));
}, "DTLS server uses even data channel IDs");

const labels = [
['"foo"', 'foo', 'foo'],
['null', null, 'null'],
Expand Down

0 comments on commit 97c3ec1

Please sign in to comment.