mirror of
https://github.com/servo/servo.git
synced 2025-07-12 18:03:49 +01:00
Auto merge of #22812 - servo-wpt-sync:wpt_update_02-02-2019, r=jdm
Sync WPT with upstream (02-02-2019) Automated downstream sync of changes from upstream as of 02-02-2019. [no-wpt-sync] <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22812) <!-- Reviewable:end -->
This commit is contained in:
commit
481662d0a7
13 changed files with 207 additions and 79 deletions
|
@ -37,6 +37,3 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -420459,6 +420459,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"webrtc/RTCError.html": [
|
||||
[
|
||||
"/webrtc/RTCError.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webrtc/RTCIceCandidate-constructor.html": [
|
||||
[
|
||||
"/webrtc/RTCIceCandidate-constructor.html",
|
||||
|
@ -423297,6 +423303,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"webstorage/symbol-props.window.js": [
|
||||
[
|
||||
"/webstorage/symbol-props.window.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webusb/idlharness.https.any.js": [
|
||||
[
|
||||
"/webusb/idlharness.https.any.html",
|
||||
|
@ -641159,7 +641171,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/webxr.idl": [
|
||||
"63643a11b6b0cb7ecf7aabc19b03edf1d47a6642",
|
||||
"b1ed0f9072716efd5ef92ead32d58b396319dbfa",
|
||||
"support"
|
||||
],
|
||||
"interfaces/worklets.idl": [
|
||||
|
@ -686286,6 +686298,10 @@
|
|||
"fd7215fa4e162acaed2af563c83b5b0846af3dd5",
|
||||
"testharness"
|
||||
],
|
||||
"webrtc/RTCError.html": [
|
||||
"e83dba27453cc4677479d7d601e169997ec63610",
|
||||
"testharness"
|
||||
],
|
||||
"webrtc/RTCIceCandidate-constructor.html": [
|
||||
"344007ded2b4d4496171402896d738817cdde12e",
|
||||
"testharness"
|
||||
|
@ -687906,6 +687922,10 @@
|
|||
"d2911d867fef7752b1be963ce12d3602cd946cf3",
|
||||
"testharness"
|
||||
],
|
||||
"webstorage/symbol-props.window.js": [
|
||||
"61dd8f83dc4f5ba36aebe9f61253b2763346d36e",
|
||||
"testharness"
|
||||
],
|
||||
"webusb/META.yml": [
|
||||
"546094855e50f17ef6d92f4bec412af644f155ad",
|
||||
"support"
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[windows-1252: iso_8859-1:1987 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
@ -72,9 +72,6 @@
|
|||
[windows-1254: iso88599 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: x-cp1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -93,18 +90,12 @@
|
|||
[windows-1257: cp1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: cp1254 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: l5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -114,9 +105,6 @@
|
|||
[windows-1254: latin5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-ir-148 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: windows-1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -126,41 +114,11 @@
|
|||
[x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: x-cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: iso_8859-1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: latin1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: x-cp1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: windows-1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: x-cp1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: cp1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: l1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: windows-1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: windows-1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: us-ascii (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: windows-1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
||||
[single-byte-decoder.html?TextDecoder]
|
||||
|
|
|
@ -312,9 +312,3 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[javascript-url-abort-return-value-undefined.tentative.html]
|
||||
expected: TIMEOUT
|
||||
[Not aborting fetch for javascript:undefined navigation]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[toggleEvent.html]
|
||||
[Calling open twice on 'details' fires only one toggle event]
|
||||
expected: FAIL
|
||||
|
||||
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[DOMContentLoaded-defer.html]
|
||||
[The end: DOMContentLoaded and defer scripts]
|
||||
expected: FAIL
|
||||
|
2
tests/wpt/metadata/webstorage/symbol-props.window.js.ini
Normal file
2
tests/wpt/metadata/webstorage/symbol-props.window.js.ini
Normal file
|
@ -0,0 +1,2 @@
|
|||
[symbol-props.window.html]
|
||||
expected: CRASH
|
|
@ -93,23 +93,20 @@ enum XRReferenceSpaceType {
|
|||
"unbounded"
|
||||
};
|
||||
|
||||
dictionary XRReferenceSpaceOptions {
|
||||
required XRReferenceSpaceType type;
|
||||
};
|
||||
|
||||
[SecureContext, Exposed=Window] interface XRReferenceSpace : XRSpace {
|
||||
attribute XRRigidTransform originOffset;
|
||||
attribute EventHandler onreset;
|
||||
};
|
||||
|
||||
enum XRStationaryReferenceSpaceSubtype {
|
||||
"eye-level",
|
||||
"floor-level",
|
||||
"position-disabled"
|
||||
};
|
||||
|
||||
dictionary XRStationaryReferenceSpaceOptions : XRReferenceSpaceOptions {
|
||||
required XRStationaryReferenceSpaceSubtype subtype;
|
||||
dictionary XRReferenceSpaceOptions {
|
||||
required XRReferenceSpaceType type;
|
||||
XRStationaryReferenceSpaceSubtype subtype;
|
||||
};
|
||||
|
||||
[SecureContext, Exposed=Window] interface XRReferenceSpace : XRSpace {
|
||||
attribute XRRigidTransform originOffset;
|
||||
attribute EventHandler onreset;
|
||||
};
|
||||
|
||||
[SecureContext, Exposed=Window]
|
||||
|
|
84
tests/wpt/web-platform-tests/webrtc/RTCError.html
Normal file
84
tests/wpt/web-platform-tests/webrtc/RTCError.html
Normal file
|
@ -0,0 +1,84 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>RTCError and RTCErrorInit</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="RTCPeerConnection-helper.js"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_equals(error.message, 'message');
|
||||
assert_equals(error.errorDetail, 'data-channel-failure');
|
||||
}, 'RTCError constructor with message and errorDetail');
|
||||
|
||||
test(() => {
|
||||
assert_throws(new TypeError(), () => {
|
||||
new RTCError('message');
|
||||
});
|
||||
assert_throws(new TypeError(), () => {
|
||||
new RTCError();
|
||||
});
|
||||
}, 'RTCError constructor throws TypeError if any argument is missing');
|
||||
|
||||
test(() => {
|
||||
assert_throws(new TypeError(), () => {
|
||||
new RTCError('message', {errorDetail:'invalid-error-detail'});
|
||||
});
|
||||
}, 'RTCError constructor throws TypeError if the errorDetail is invalid');
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_equals(error.name, 'RTCError');
|
||||
}, 'RTCError.name is \'RTCError\'');
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_equals(error.code, 0);
|
||||
}, 'RTCError.code is 0');
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_throws(new TypeError(), () => {
|
||||
error.errorDetail = 'dtls-failure';
|
||||
});
|
||||
}, 'RTCError.errorDetail is readonly.');
|
||||
|
||||
test(() => {
|
||||
// Infers what are valid RTCErrorInit objects by passing them to the RTCError
|
||||
// constructor.
|
||||
assert_throws(new TypeError(), () => {
|
||||
new RTCError('message', {});
|
||||
});
|
||||
new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
}, 'RTCErrorInit.errorDetail is the only required attribute');
|
||||
|
||||
// All of these are number types (long or unsigned long).
|
||||
const nullableAttributes = ['sdpLineNumber',
|
||||
'httpRequestStatusCode',
|
||||
'sctpCauseCode',
|
||||
'receivedAlert',
|
||||
'sentAlert'];
|
||||
|
||||
nullableAttributes.forEach(attribute => {
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_equals(error[attribute], null);
|
||||
}, 'RTCError.' + attribute + ' is null by default');
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure',
|
||||
[attribute]: 0});
|
||||
assert_equals(error[attribute], 0);
|
||||
}, 'RTCError.' + attribute + ' is settable by constructor');
|
||||
|
||||
test(() => {
|
||||
const error = new RTCError('message', {errorDetail:'data-channel-failure'});
|
||||
assert_throws(new TypeError(), () => {
|
||||
error[attribute] = 42;
|
||||
});
|
||||
}, 'RTCError.' + attribute + ' is readonly');
|
||||
});
|
||||
|
||||
</script>
|
|
@ -0,0 +1,81 @@
|
|||
["localStorage", "sessionStorage"].forEach(function(name) {
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[key] = "test";
|
||||
assert_equals(storage[key], "test");
|
||||
}, name + ": plain set + get (loose)");
|
||||
|
||||
test(function() {
|
||||
"use strict";
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[key] = "test";
|
||||
assert_equals(storage[key], "test");
|
||||
}, name + ": plain set + get (strict)");
|
||||
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
Object.defineProperty(storage, key, { "value": "test" });
|
||||
assert_equals(storage[key], "test");
|
||||
}, name + ": defineProperty + get");
|
||||
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
Object.defineProperty(storage, key, { "value": "test", "configurable": false });
|
||||
assert_equals(storage[key], "test");
|
||||
var desc = Object.getOwnPropertyDescriptor(storage, key);
|
||||
assert_true(desc.configurable, "configurable");
|
||||
|
||||
assert_true(delete storage[key]);
|
||||
assert_equals(storage[key], undefined);
|
||||
}, name + ": defineProperty not configurable");
|
||||
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
Storage.prototype[key] = "test";
|
||||
this.add_cleanup(function() { delete Storage.prototype[key]; });
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
assert_equals(storage[key], "test");
|
||||
var desc = Object.getOwnPropertyDescriptor(storage, key);
|
||||
assert_equals(desc, undefined);
|
||||
}, name + ": get with symbol on prototype");
|
||||
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[key] = "test";
|
||||
assert_true(delete storage[key]);
|
||||
assert_equals(storage[key], undefined);
|
||||
}, name + ": delete existing property");
|
||||
|
||||
test(function() {
|
||||
var key = Symbol();
|
||||
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
assert_true(delete storage[key]);
|
||||
assert_equals(storage[key], undefined);
|
||||
}, name + ": delete non-existent property");
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue