mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
Automatic update from web-platform-tests Replace some "assert_throws(new FooError(), stuff)" calls with assert_throws_js. (#21354) This diff was generated by running: find . -type f -print0 | xargs -0 perl -pi -e 'BEGIN { $/ = undef; } s/assert_throws\(([ \n]*)new ([A-Za-z]*Error) *\(\) *(, *.)/assert_throws_js(\1\2\3/gs' and then: 1) Manually adjusting fullscreen/rendering/fullscreen-pseudo-class-support.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 2) Manually adjusting performance-timeline/po-observe-type.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 3) Manually adjusting performance-timeline/po-observe.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 4) Manually adjusting user-timing/mark_exceptions.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 5) Manually adjusting user-timing/measure_syntax_err.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 6) Manually adjusting domxpath/lexical-structure.html to test for a "SyntaxError" DOMException, since that's what all browsers throw and there is no clear spec for this. 7) Manually adjusting workers/constructors/Worker/Worker-constructor.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 8) Backing out the changes to resources/idlharness.js because some tests pass objects from a different window to it, and we end up with the wrong TypeError constructor in those cases. This does affect indentation poorly in cases when the first arg was on the same line as the assert_throws, there was a newline after the ',' after the first arg, and the following args were lined up with the first arg. Fixing that, especially when there are multiple lines after the first arg, is not trivial with a regexp. Co-authored-by: Boris Zbarsky <bzbarsky@mit.edu> Co-authored-by: Stephen McGruer <smcgruer@chromium.org> -- wpt-commits: 2c5c3c4c27d27a419c1fdba3e9879c2d22037074 wpt-pr: 21354
126 lines
3.7 KiB
HTML
126 lines
3.7 KiB
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<!--
|
|
4.8.2 RTCPeerConnectionIceEvent
|
|
|
|
The icecandidate event of the RTCPeerConnection uses the RTCPeerConnectionIceEvent interface.
|
|
|
|
-->
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
/*
|
|
RTCPeerConnectionIceEvent
|
|
|
|
[Constructor(DOMString type, optional RTCPeerConnectionIceEventInit eventInitDict)]
|
|
|
|
interface RTCPeerConnectionIceEvent : Event {
|
|
readonly attribute RTCIceCandidate? candidate;
|
|
readonly attribute DOMString? url;
|
|
};
|
|
*/
|
|
test(() => {
|
|
assert_throws_js(TypeError, () => {
|
|
new RTCPeerConnectionIceEvent();
|
|
});
|
|
}, "RTCPeerConnectionIceEvent with no arguments throws TypeError");
|
|
|
|
test(() => {
|
|
const event = new RTCPeerConnectionIceEvent("type");
|
|
/*
|
|
candidate of type RTCIceCandidate, readonly, nullable
|
|
url of type DOMString, readonly, nullable
|
|
*/
|
|
assert_equals(event.candidate, null);
|
|
assert_equals(event.url, null);
|
|
|
|
/*
|
|
Firing an RTCPeerConnectionIceEvent event named e with an RTCIceCandidate
|
|
candidate means that an event with the name e, which does not bubble
|
|
(except where otherwise stated) and is not cancelable
|
|
(except where otherwise stated),
|
|
*/
|
|
assert_false(event.bubbles);
|
|
assert_false(event.cancelable);
|
|
|
|
}, "RTCPeerConnectionIceEvent with no eventInitDict (default)");
|
|
|
|
test(() => {
|
|
const event = new RTCPeerConnectionIceEvent("type", {});
|
|
|
|
/*
|
|
candidate of type RTCIceCandidate, readonly, nullable
|
|
url of type DOMString, readonly, nullable
|
|
*/
|
|
assert_equals(event.candidate, null);
|
|
assert_equals(event.url, null);
|
|
|
|
/*
|
|
Firing an RTCPeerConnectionIceEvent event named e with an RTCIceCandidate
|
|
candidate means that an event with the name e, which does not bubble
|
|
(except where otherwise stated) and is not cancelable
|
|
(except where otherwise stated),
|
|
*/
|
|
assert_false(event.bubbles);
|
|
assert_false(event.cancelable);
|
|
|
|
}, "RTCPeerConnectionIceEvent with empty object as eventInitDict (default)");
|
|
|
|
test(() => {
|
|
const event = new RTCPeerConnectionIceEvent("type", {
|
|
candidate: null
|
|
});
|
|
assert_equals(event.candidate, null);
|
|
}, "RTCPeerConnectionIceEvent.candidate is null when constructed with { candidate: null }");
|
|
|
|
test(() => {
|
|
const event = new RTCPeerConnectionIceEvent("type", {
|
|
candidate: undefined
|
|
});
|
|
assert_equals(event.candidate, null);
|
|
}, "RTCPeerConnectionIceEvent.candidate is null when constructed with { candidate: undefined }");
|
|
|
|
|
|
/*
|
|
|
|
4.8.1 RTCIceCandidate Interface
|
|
|
|
The RTCIceCandidate() constructor takes a dictionary argument, candidateInitDict,
|
|
whose content is used to initialize the new RTCIceCandidate object. When run, if
|
|
both the sdpMid and sdpMLineIndex dictionary members are null, throw a TypeError.
|
|
*/
|
|
const candidate = "";
|
|
const sdpMid = "sdpMid";
|
|
const sdpMLineIndex = 1;
|
|
const usernameFragment = "";
|
|
const url = "foo.bar";
|
|
|
|
test(() => {
|
|
const iceCandidate = new RTCIceCandidate({ candidate, sdpMid, sdpMLineIndex, usernameFragment });
|
|
const event = new RTCPeerConnectionIceEvent("type", {
|
|
candidate: iceCandidate,
|
|
url,
|
|
});
|
|
|
|
assert_equals(event.candidate, iceCandidate);
|
|
assert_false(event.bubbles);
|
|
assert_false(event.cancelable);
|
|
}, "RTCPeerConnectionIceEvent with RTCIceCandidate");
|
|
|
|
test(() => {
|
|
const plain = { candidate, sdpMid, sdpMLineIndex, usernameFragment };
|
|
assert_throws_js(TypeError, () => new RTCPeerConnectionIceEvent("type", { candidate: plain }));
|
|
}, "RTCPeerConnectionIceEvent with non RTCIceCandidate object throws");
|
|
|
|
test(() => {
|
|
const event = new RTCPeerConnectionIceEvent("type", {
|
|
candidate: null,
|
|
bubbles: true,
|
|
cancelable: true,
|
|
});
|
|
|
|
assert_true(event.bubbles);
|
|
assert_true(event.cancelable);
|
|
}, "RTCPeerConnectionIceEvent bubbles and cancelable");
|
|
|
|
</script>
|