mirror of
https://github.com/servo/servo.git
synced 2025-07-14 10:53:42 +01:00
Update web-platform-tests to revision 66f38302334f162d363afcf4a1792d895072f3ef
This commit is contained in:
parent
36f5b69224
commit
b198cd722a
622 changed files with 3374 additions and 2001 deletions
|
@ -1,10 +1,11 @@
|
||||||
[createImageBitmap-drawImage.html]
|
[createImageBitmap-drawImage.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[createImageBitmap from a HTMLImageElement, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a HTMLImageElement, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[createImageBitmap from a Blob, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a Blob, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a HTMLCanvasElement, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a HTMLCanvasElement, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
@ -46,10 +47,10 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[createImageBitmap from an ImageBitmap with negative sw/sh, and drawImage on the created ImageBitmap]
|
[createImageBitmap from an ImageBitmap with negative sw/sh, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a bitmap HTMLImageElement, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a bitmap HTMLImageElement, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
@ -166,17 +167,17 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[createImageBitmap from an ImageBitmap scaled up, and drawImage on the created ImageBitmap]
|
[createImageBitmap from an ImageBitmap scaled up, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
||||||
[createImageBitmap from an ImageBitmap resized, and drawImage on the created ImageBitmap]
|
[createImageBitmap from an ImageBitmap resized, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
[createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap]
|
[createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
[idlharness.worker.html]
|
[idlharness.worker.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: ERROR
|
||||||
[ArrayBuffer interface: existence and properties of interface object]
|
[ArrayBuffer interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,3 +0,0 @@
|
||||||
[c563-list-type-000.xht]
|
|
||||||
type: reftest
|
|
||||||
expected: FAIL
|
|
|
@ -254,9 +254,6 @@
|
||||||
[Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
|
[Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Matching font-style: 'oblique 20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
[Matching font-style: 'oblique 20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -29,15 +29,6 @@
|
||||||
[Test @font-face matching for weight 1000]
|
[Test @font-face matching for weight 1000]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Test @font-face matching for weight 99]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Test @font-face matching for weight 100]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Test @font-face matching for weight 249]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Test @font-face matching for weight 420]
|
[Test @font-face matching for weight 420]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
4
tests/wpt/metadata/css/css-paint-api/idlharness.html.ini
Normal file
4
tests/wpt/metadata/css/css-paint-api/idlharness.html.ini
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[idlharness.html]
|
||||||
|
[CSS Painting API IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[mq-case-insensitive-001.html]
|
||||||
|
expected: FAIL
|
|
@ -927,3 +927,13 @@
|
||||||
[DOM IDL tests]
|
[DOM IDL tests]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[interfaces.html?exclude=Node]
|
||||||
|
[DOM IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[interfaces.html?include=Node]
|
||||||
|
[DOM IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[javascript-url-return-value-handling.html]
|
|
||||||
type: testharness
|
|
||||||
[Test that javascript: evaluation only performs a navigation to the\n result when the result is a string value.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -5732,3 +5732,18 @@
|
||||||
[HTML IDL tests]
|
[HTML IDL tests]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[interfaces.https.html?include=(Document|Window)]
|
||||||
|
[HTML IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[interfaces.https.html?include=HTML.*]
|
||||||
|
[HTML IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[interfaces.https.html?exclude=(Document|Window|HTML.*)]
|
||||||
|
[HTML IDL tests]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,27 +1,5 @@
|
||||||
[self-origin.sub.html]
|
[self-origin.sub.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Should have the right origin for cross-origin subframe]
|
|
||||||
expected: NOTRUN
|
|
||||||
|
|
||||||
[Should have the right origin for cross-origin subframe after setting document.domain]
|
|
||||||
expected: NOTRUN
|
|
||||||
|
|
||||||
[Should have the right origin for IDN subframe]
|
|
||||||
expected: NOTRUN
|
|
||||||
|
|
||||||
[Should have the right origin for IDN subframe after setting document.domain]
|
|
||||||
expected: NOTRUN
|
|
||||||
|
|
||||||
[Should have the right origin for sandboxed iframe]
|
[Should have the right origin for sandboxed iframe]
|
||||||
expected: NOTRUN
|
|
||||||
|
|
||||||
[about:blank subframe origins]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[blob: subframe origins]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[javascript: subframe origins]
|
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -172,36 +172,6 @@
|
||||||
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="no-hash-name"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="no-hash-id"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="hash-last#"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap=""]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#percent-escape-name-%41"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#percent-escape-id-%41"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#no-such-map"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#different-CASE-name"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[HTML (quirks) IMG usemap="#different-CASE-id"]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[XHTML img usemap="no-hash-name"]
|
[XHTML img usemap="no-hash-name"]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -232,3 +202,33 @@
|
||||||
[XHTML img usemap="#different-CASE-id"]
|
[XHTML img usemap="#different-CASE-id"]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="no-hash-name"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="no-hash-id"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="hash-last#"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap=""]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#percent-escape-name-%41"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#percent-escape-id-%41"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#no-such-map"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#different-CASE-name"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTML (standards) IMG usemap="#different-CASE-id"]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[context-release-upon-reload.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Overall test]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[context-release-with-workers.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Overall test]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- nils-ohlmeier
|
|
@ -1 +0,0 @@
|
||||||
@nils-ohlmeier
|
|
6
tests/wpt/web-platform-tests/2dcontext/META.yml
Normal file
6
tests/wpt/web-platform-tests/2dcontext/META.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- AmeliaBR
|
||||||
|
- annevk
|
||||||
|
- kenrussell
|
||||||
|
- jdashg
|
||||||
|
- fserb
|
|
@ -1,5 +0,0 @@
|
||||||
@AmeliaBR
|
|
||||||
@annevk
|
|
||||||
@kenrussell
|
|
||||||
@jdashg
|
|
||||||
@fserb
|
|
2
tests/wpt/web-platform-tests/2dcontext/tools/META.yml
Normal file
2
tests/wpt/web-platform-tests/2dcontext/tools/META.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- gsnedders
|
|
@ -1 +0,0 @@
|
||||||
@gsnedders
|
|
2
tests/wpt/web-platform-tests/BackgroundSync/META.yml
Normal file
2
tests/wpt/web-platform-tests/BackgroundSync/META.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- beverloo
|
|
@ -1 +0,0 @@
|
||||||
@beverloo
|
|
5
tests/wpt/web-platform-tests/FileAPI/META.yml
Normal file
5
tests/wpt/web-platform-tests/FileAPI/META.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- inexorabletash
|
||||||
|
- zqzhang
|
||||||
|
- jdm
|
||||||
|
- mkruisselbrink
|
|
@ -1,4 +0,0 @@
|
||||||
@inexorabletash
|
|
||||||
@zqzhang
|
|
||||||
@jdm
|
|
||||||
@mkruisselbrink
|
|
|
@ -27,117 +27,6 @@
|
||||||
|
|
||||||
<div id="log"></div>
|
<div id="log"></div>
|
||||||
|
|
||||||
<pre id="untested_idl" style="display: none">
|
|
||||||
interface ArrayBuffer {
|
|
||||||
};
|
|
||||||
|
|
||||||
interface ArrayBufferView {
|
|
||||||
};
|
|
||||||
|
|
||||||
interface URL {
|
|
||||||
};
|
|
||||||
|
|
||||||
interface EventTarget {
|
|
||||||
};
|
|
||||||
|
|
||||||
interface Event {
|
|
||||||
};
|
|
||||||
|
|
||||||
[TreatNonCallableAsNull]
|
|
||||||
callback EventHandlerNonNull = any (Event event);
|
|
||||||
typedef EventHandlerNonNull? EventHandler;
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<pre id="idl" style="display: none">
|
|
||||||
[Constructor,
|
|
||||||
Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
|
|
||||||
interface Blob {
|
|
||||||
|
|
||||||
readonly attribute unsigned long long size;
|
|
||||||
readonly attribute DOMString type;
|
|
||||||
|
|
||||||
//slice Blob into byte-ranged chunks
|
|
||||||
|
|
||||||
Blob slice([Clamp] optional long long start,
|
|
||||||
[Clamp] optional long long end,
|
|
||||||
optional DOMString contentType);
|
|
||||||
};
|
|
||||||
|
|
||||||
dictionary BlobPropertyBag {
|
|
||||||
DOMString type = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
|
|
||||||
[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
|
|
||||||
interface File : Blob {
|
|
||||||
|
|
||||||
readonly attribute DOMString name;
|
|
||||||
readonly attribute long long lastModified;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
dictionary FilePropertyBag {
|
|
||||||
|
|
||||||
DOMString type = "";
|
|
||||||
long long lastModified;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
[Exposed=Window,Worker] interface FileList {
|
|
||||||
getter File? item(unsigned long index);
|
|
||||||
readonly attribute unsigned long length;
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constructor, Exposed=Window,Worker]
|
|
||||||
interface FileReader: EventTarget {
|
|
||||||
|
|
||||||
// async read methods
|
|
||||||
void readAsArrayBuffer(Blob blob);
|
|
||||||
void readAsText(Blob blob, optional DOMString label);
|
|
||||||
void readAsDataURL(Blob blob);
|
|
||||||
|
|
||||||
void abort();
|
|
||||||
|
|
||||||
// states
|
|
||||||
const unsigned short EMPTY = 0;
|
|
||||||
const unsigned short LOADING = 1;
|
|
||||||
const unsigned short DONE = 2;
|
|
||||||
|
|
||||||
readonly attribute unsigned short readyState;
|
|
||||||
|
|
||||||
// File or Blob data
|
|
||||||
readonly attribute (DOMString or ArrayBuffer)? result;
|
|
||||||
|
|
||||||
readonly attribute DOMException? error;
|
|
||||||
|
|
||||||
// event handler attributes
|
|
||||||
attribute EventHandler onloadstart;
|
|
||||||
attribute EventHandler onprogress;
|
|
||||||
attribute EventHandler onload;
|
|
||||||
attribute EventHandler onabort;
|
|
||||||
attribute EventHandler onerror;
|
|
||||||
attribute EventHandler onloadend;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constructor, Exposed=Worker]
|
|
||||||
interface FileReaderSync {
|
|
||||||
|
|
||||||
// Synchronously return strings
|
|
||||||
|
|
||||||
ArrayBuffer readAsArrayBuffer(Blob blob);
|
|
||||||
DOMString readAsText(Blob blob, optional DOMString label);
|
|
||||||
DOMString readAsDataURL(Blob blob);
|
|
||||||
};
|
|
||||||
|
|
||||||
partial interface URL {
|
|
||||||
|
|
||||||
static DOMString createObjectURL(Blob blob);
|
|
||||||
static void revokeObjectURL(DOMString url);
|
|
||||||
|
|
||||||
};
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var fileInput;
|
var fileInput;
|
||||||
|
|
||||||
|
@ -145,10 +34,18 @@ partial interface URL {
|
||||||
fileInput = document.querySelector("#fileChooser")
|
fileInput = document.querySelector("#fileChooser")
|
||||||
}, {explicit_done: true, explicit_timeout: true});
|
}, {explicit_done: true, explicit_timeout: true});
|
||||||
|
|
||||||
on_event(fileInput, "change", function(evt) {
|
on_event(fileInput, "change", async function(evt) {
|
||||||
var idl_array = new IdlArray();
|
const idl = await fetch('/interfaces/FileAPI.idl').then(r => r.text());
|
||||||
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
idl_array.add_idls(document.getElementById("idl").textContent);
|
const html = await fetch('/interfaces/html.idl').then(r => r.text());
|
||||||
|
const url = await fetch('/interfaces/url.idl').then(r => r.text());
|
||||||
|
|
||||||
|
const idl_array = new IdlArray();
|
||||||
|
idl_array.add_idls(idl);
|
||||||
|
idl_array.add_dependency_idls(url);
|
||||||
|
idl_array.add_dependency_idls(html);
|
||||||
|
idl_array.add_dependency_idls(dom);
|
||||||
|
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
|
||||||
|
|
||||||
idl_array.add_objects({
|
idl_array.add_objects({
|
||||||
FileList: [fileInput.files],
|
FileList: [fileInput.files],
|
||||||
|
|
|
@ -20,37 +20,30 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var file_input;
|
'use strict';
|
||||||
setup(function() {
|
|
||||||
var idl_array = new IdlArray();
|
|
||||||
|
|
||||||
var request = new XMLHttpRequest();
|
promise_test(async () => {
|
||||||
request.open("GET", "/interfaces/FileAPI.idl");
|
const idl = await fetch('/interfaces/FileAPI.idl').then(r => r.text());
|
||||||
request.send();
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
request.onload = function() {
|
const html = await fetch('/interfaces/html.idl').then(r => r.text());
|
||||||
var idls = request.responseText;
|
const url = await fetch('/interfaces/url.idl').then(r => r.text());
|
||||||
|
|
||||||
|
const idl_array = new IdlArray();
|
||||||
|
idl_array.add_idls(idl);
|
||||||
|
idl_array.add_dependency_idls(url);
|
||||||
|
idl_array.add_dependency_idls(html);
|
||||||
|
idl_array.add_dependency_idls(dom);
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
|
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
|
||||||
idl_array.add_untested_idls("interface URL {};");
|
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget {};");
|
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface Event {};");
|
|
||||||
idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
|
|
||||||
idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
|
|
||||||
|
|
||||||
idl_array.add_idls(idls);
|
|
||||||
|
|
||||||
file_input = document.querySelector("#fileChooser");
|
|
||||||
idl_array.add_objects({
|
idl_array.add_objects({
|
||||||
Blob: ['new Blob(["TEST"])'],
|
Blob: ['new Blob(["TEST"])'],
|
||||||
File: ['new File(["myFileBits"], "myFileName")'],
|
File: ['new File(["myFileBits"], "myFileName")'],
|
||||||
FileList: ['file_input.files'],
|
FileList: ['document.querySelector("#fileChooser").files'],
|
||||||
FileReader: ['new FileReader()']
|
FileReader: ['new FileReader()']
|
||||||
});
|
});
|
||||||
|
|
||||||
idl_array.test();
|
idl_array.test();
|
||||||
done();
|
}, 'Test FileAPI IDL implementation');
|
||||||
};
|
|
||||||
}, {explicit_done: true});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,24 +1,18 @@
|
||||||
importScripts("/resources/testharness.js");
|
importScripts("/resources/testharness.js");
|
||||||
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
|
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
|
||||||
|
|
||||||
var request = new XMLHttpRequest();
|
promise_test(async () => {
|
||||||
request.open("GET", "/interfaces/FileAPI.idl");
|
const idl = await fetch('/interfaces/FileAPI.idl').then(r => r.text());
|
||||||
request.send();
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
request.onload = function() {
|
const html = await fetch('/interfaces/html.idl').then(r => r.text());
|
||||||
var idl_array = new IdlArray();
|
const url = await fetch('/interfaces/url.idl').then(r => r.text());
|
||||||
var idls = request.responseText;
|
|
||||||
|
|
||||||
idl_array.add_untested_idls("[Global] interface Window { };");
|
|
||||||
|
|
||||||
|
const idl_array = new IdlArray();
|
||||||
|
idl_array.add_idls(idl);
|
||||||
|
idl_array.add_dependency_idls(dom);
|
||||||
|
idl_array.add_dependency_idls(html);
|
||||||
|
idl_array.add_dependency_idls(url);
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
|
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
|
||||||
idl_array.add_untested_idls("interface URL {};");
|
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget {};");
|
|
||||||
idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface Event {};");
|
|
||||||
idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
|
|
||||||
idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
|
|
||||||
|
|
||||||
idl_array.add_idls(idls);
|
|
||||||
|
|
||||||
idl_array.add_objects({
|
idl_array.add_objects({
|
||||||
Blob: ['new Blob(["TEST"])'],
|
Blob: ['new Blob(["TEST"])'],
|
||||||
File: ['new File(["myFileBits"], "myFileName")'],
|
File: ['new File(["myFileBits"], "myFileName")'],
|
||||||
|
@ -27,5 +21,5 @@ request.onload = function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
idl_array.test();
|
idl_array.test();
|
||||||
done();
|
}, 'Test FileAPI IDL implementation');
|
||||||
};
|
done();
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
self.addEventListener('message', e => {
|
self.addEventListener('message', e => {
|
||||||
URL.revokeObjectURL(e.data.url);
|
URL.revokeObjectURL(e.data.url);
|
||||||
|
// Registering a new object URL will make absolutely sure that the revocation
|
||||||
|
// has propagated. Without this at least in chrome it is possible for the
|
||||||
|
// below postMessage to arrive at its destination before the revocation has
|
||||||
|
// been fully processed.
|
||||||
|
URL.createObjectURL(new Blob([]));
|
||||||
self.postMessage('revoked');
|
self.postMessage('revoked');
|
||||||
});
|
});
|
||||||
|
|
8
tests/wpt/web-platform-tests/IndexedDB/META.yml
Normal file
8
tests/wpt/web-platform-tests/IndexedDB/META.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- odinho
|
||||||
|
- inexorabletash
|
||||||
|
- chunywang
|
||||||
|
- dumbmatter
|
||||||
|
- zqzhang
|
||||||
|
- yunxiaoxie
|
||||||
|
- zhaozihao
|
|
@ -1,7 +0,0 @@
|
||||||
@odinho
|
|
||||||
@inexorabletash
|
|
||||||
@chunywang
|
|
||||||
@dumbmatter
|
|
||||||
@zqzhang
|
|
||||||
@yunxiaoxie
|
|
||||||
@zhaozihao
|
|
|
@ -47,7 +47,7 @@ For example, on most UNIX-like systems, you can setup the hosts file with:
|
||||||
And on Windows (this must be run in a PowerShell session with Administrator privileges):
|
And on Windows (this must be run in a PowerShell session with Administrator privileges):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python wpt make-hosts-file | Out-File %SystemRoot%\System32\drivers\etc\hosts -Encoding ascii -Append
|
python wpt make-hosts-file | Out-File $env:systemroot\System32\drivers\etc\hosts -Encoding ascii -Append
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are behind a proxy, you also need to make sure the domains above are
|
If you are behind a proxy, you also need to make sure the domains above are
|
||||||
|
|
4
tests/wpt/web-platform-tests/WebCryptoAPI/META.yml
Normal file
4
tests/wpt/web-platform-tests/WebCryptoAPI/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- Wafflespeanut
|
||||||
|
- jimsch
|
||||||
|
- engelke
|
|
@ -1,3 +0,0 @@
|
||||||
@Wafflespeanut
|
|
||||||
@jimsch
|
|
||||||
@engelke
|
|
5
tests/wpt/web-platform-tests/WebIDL/META.yml
Normal file
5
tests/wpt/web-platform-tests/WebIDL/META.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- domenic
|
||||||
|
- jensl
|
||||||
|
- tobie
|
||||||
|
- yuki3
|
|
@ -1,4 +0,0 @@
|
||||||
@domenic
|
|
||||||
@jensl
|
|
||||||
@tobie
|
|
||||||
@yuki3
|
|
7
tests/wpt/web-platform-tests/accelerometer/META.yml
Normal file
7
tests/wpt/web-platform-tests/accelerometer/META.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- zqzhang
|
||||||
|
- dontcallmedom
|
||||||
|
- riju
|
||||||
|
- Honry
|
||||||
|
- alexshalamov
|
||||||
|
- pozdnyakov
|
|
@ -1,6 +0,0 @@
|
||||||
@zqzhang
|
|
||||||
@dontcallmedom
|
|
||||||
@riju
|
|
||||||
@Honry
|
|
||||||
@alexshalamov
|
|
||||||
@pozdnyakov
|
|
3
tests/wpt/web-platform-tests/accname/META.yml
Normal file
3
tests/wpt/web-platform-tests/accname/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- halindrome
|
||||||
|
- joanmarie
|
|
@ -1,2 +0,0 @@
|
||||||
@halindrome
|
|
||||||
@joanmarie
|
|
2
tests/wpt/web-platform-tests/acid/META.yml
Normal file
2
tests/wpt/web-platform-tests/acid/META.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- Ms2ger
|
|
@ -1 +0,0 @@
|
||||||
@Ms2ger
|
|
8
tests/wpt/web-platform-tests/ambient-light/META.yml
Normal file
8
tests/wpt/web-platform-tests/ambient-light/META.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- zqzhang
|
||||||
|
- Volker-E
|
||||||
|
- dontcallmedom
|
||||||
|
- riju
|
||||||
|
- alexshalamov
|
||||||
|
- pozdnyakov
|
||||||
|
- Honry
|
|
@ -1,7 +0,0 @@
|
||||||
@zqzhang
|
|
||||||
@Volker-E
|
|
||||||
@dontcallmedom
|
|
||||||
@riju
|
|
||||||
@alexshalamov
|
|
||||||
@pozdnyakov
|
|
||||||
@Honry
|
|
4
tests/wpt/web-platform-tests/annotation-model/META.yml
Normal file
4
tests/wpt/web-platform-tests/annotation-model/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- halindrome
|
||||||
|
- bigbluehat
|
||||||
|
- tcole3
|
|
@ -1,3 +0,0 @@
|
||||||
@halindrome
|
|
||||||
@bigbluehat
|
|
||||||
@tcole3
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- halindrome
|
|
@ -1 +0,0 @@
|
||||||
@halindrome
|
|
3
tests/wpt/web-platform-tests/annotation-vocab/META.yml
Normal file
3
tests/wpt/web-platform-tests/annotation-vocab/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- halindrome
|
||||||
|
- gkellogg
|
|
@ -1,2 +0,0 @@
|
||||||
@halindrome
|
|
||||||
@gkellogg
|
|
4
tests/wpt/web-platform-tests/apng/META.yml
Normal file
4
tests/wpt/web-platform-tests/apng/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- stuartparmenter
|
||||||
|
- svgeesus
|
||||||
|
- leonscroggins
|
|
@ -1,3 +0,0 @@
|
||||||
@stuartparmenter
|
|
||||||
@svgeesus
|
|
||||||
@leonscroggins
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- domenic
|
|
@ -1 +0,0 @@
|
||||||
@domenic
|
|
2
tests/wpt/web-platform-tests/audio-output/META.yml
Normal file
2
tests/wpt/web-platform-tests/audio-output/META.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- guidou
|
|
@ -1 +0,0 @@
|
||||||
@guidou
|
|
3
tests/wpt/web-platform-tests/background-fetch/META.yml
Normal file
3
tests/wpt/web-platform-tests/background-fetch/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- beverloo
|
||||||
|
- jakearchibald
|
|
@ -1,2 +0,0 @@
|
||||||
@beverloo
|
|
||||||
@jakearchibald
|
|
4
tests/wpt/web-platform-tests/battery-status/META.yml
Normal file
4
tests/wpt/web-platform-tests/battery-status/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- anssiko
|
||||||
|
- dontcallmedom
|
||||||
|
- zqzhang
|
|
@ -1,3 +0,0 @@
|
||||||
@anssiko
|
|
||||||
@dontcallmedom
|
|
||||||
@zqzhang
|
|
3
tests/wpt/web-platform-tests/beacon/META.yml
Normal file
3
tests/wpt/web-platform-tests/beacon/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- toddreifsteck
|
||||||
|
- igrigorik
|
|
@ -1,2 +0,0 @@
|
||||||
@toddreifsteck
|
|
||||||
@igrigorik
|
|
4
tests/wpt/web-platform-tests/bluetooth/META.yml
Normal file
4
tests/wpt/web-platform-tests/bluetooth/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- jyasskin
|
||||||
|
- g-ortuno
|
||||||
|
- scheib
|
|
@ -1,3 +0,0 @@
|
||||||
@jyasskin
|
|
||||||
@g-ortuno
|
|
||||||
@scheib
|
|
2
tests/wpt/web-platform-tests/budget-api/META.yml
Normal file
2
tests/wpt/web-platform-tests/budget-api/META.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- beverloo
|
|
@ -1 +0,0 @@
|
||||||
@beverloo
|
|
3
tests/wpt/web-platform-tests/clear-site-data/META.yml
Normal file
3
tests/wpt/web-platform-tests/clear-site-data/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- mikewest
|
||||||
|
- msramek
|
|
@ -1,2 +0,0 @@
|
||||||
@mikewest
|
|
||||||
@msramek
|
|
4
tests/wpt/web-platform-tests/client-hints/META.yml
Normal file
4
tests/wpt/web-platform-tests/client-hints/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- igrigorik
|
||||||
|
- yoavweiss
|
||||||
|
- tarunban
|
|
@ -1,3 +0,0 @@
|
||||||
@igrigorik
|
|
||||||
@yoavweiss
|
|
||||||
@tarunban
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
<html>
|
||||||
|
<title>Accept-CH test</title>
|
||||||
|
<body>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
<div id=test>
|
||||||
|
<p>Apart from this webpage, the test opens another html web page. One test
|
||||||
|
is run in this web page, and another in the second web page.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// This test fetches resources/accept_ch.html. The response headers to
|
||||||
|
// that webpage contains only the Accept-CH header. Due to the missing
|
||||||
|
// Accept-CH-Lifetime header, the user-agent should not persist origin
|
||||||
|
// preferences for the client hints specified in Accept-CH header.
|
||||||
|
|
||||||
|
// Next, to verify that the origin preferences were not persisted by the user
|
||||||
|
// agent, this test fetches resources/do_not_expect_client_hints_headers.html
|
||||||
|
// in a new window. Fetching of
|
||||||
|
// resources/do_not_expect_client_hints_headers.html
|
||||||
|
// verifies that the user agent does not send the client hints in the request
|
||||||
|
// headers.
|
||||||
|
|
||||||
|
// Verify the initial state to make sure that the browser does not have client
|
||||||
|
// hints preferences cached from a previous run of the test.
|
||||||
|
|
||||||
|
// Test is marked as tentative until https://github.com/whatwg/fetch/issues/726
|
||||||
|
// is resolved.
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("echo_client_hints_received.py").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
// Verify that the browser did not include client hints in the request
|
||||||
|
// headers when fetching echo_client_hints_received.py.
|
||||||
|
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
});
|
||||||
|
}, "Test that the browser does not have client hints preferences cached");
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("resources/accept_ch.html").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
|
||||||
|
// Open a new window.
|
||||||
|
window.open("resources/do_not_expect_client_hints_headers.html");
|
||||||
|
});
|
||||||
|
}, "Test receiving Accept-CH header");
|
||||||
|
|
||||||
|
async_test(t => {
|
||||||
|
window.addEventListener('message', function(event) {
|
||||||
|
t.done();
|
||||||
|
})
|
||||||
|
}, "Loading of resources/do_not_expect_client_hints_headers.html did not finish.");
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,60 @@
|
||||||
|
<html>
|
||||||
|
<title>Accept-CH-Lifetime test</title>
|
||||||
|
<body>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
<div id=test>
|
||||||
|
<p>Apart from this webpage, the test opens another html web page. One test
|
||||||
|
is run in this web page, and another in the second web page.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// This test fetches resources/accept_ch_lifetime.html. The response headers to
|
||||||
|
// that webpage contain Accept-CH and Accept-CH-Lifetime headers.
|
||||||
|
// Fetching that webpage should cause the user-agent to persist origin
|
||||||
|
// preferences for the client hints specified in Accept-CH header for a
|
||||||
|
// duration specified in the Accept-CH-Lifetime header.
|
||||||
|
|
||||||
|
// Next, to verify if the origin preferences were persisted by the user
|
||||||
|
// agent, this test fetches resources/expect_client_hints_headers.html
|
||||||
|
// in a new window. Fetching of resources/expect_client_hints_headers.html
|
||||||
|
// verifies that the user agent actually sends the client hints in the request
|
||||||
|
// headers.
|
||||||
|
|
||||||
|
// Verify the initial state to make sure that the browser does not have client
|
||||||
|
// hints preferences cached from a previous run of the test.
|
||||||
|
|
||||||
|
// Test is marked as tentative until https://github.com/whatwg/fetch/issues/726
|
||||||
|
// is resolved.
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("echo_client_hints_received.py").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
// Verify that the browser did not include client hints in the request
|
||||||
|
// headers when fetching echo_client_hints_received.py.
|
||||||
|
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
});
|
||||||
|
}, "Test that the browser does not have client hints preferences cached");
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("resources/accept_ch_lifetime.html").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
|
||||||
|
// Open a new window.
|
||||||
|
window.open("resources/expect_client_hints_headers.html");
|
||||||
|
});
|
||||||
|
}, "Test receiving Accept-CH-Lifetime header");
|
||||||
|
|
||||||
|
async_test(t => {
|
||||||
|
window.addEventListener('message', function(event) {
|
||||||
|
t.done();
|
||||||
|
})
|
||||||
|
}, "Loading of resources/expect_client_hints_headers.html did not finish.");
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- An empty webpage whose response headers include only the
|
||||||
|
Accept-CH header. Fetching this webpage should not cause
|
||||||
|
user-agent to persist origin preferences for the client hints
|
||||||
|
specified in the Accept-CH header.-->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1 @@
|
||||||
|
Accept-CH: device-memory
|
|
@ -0,0 +1,11 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- An empty webpage whose response headers include Accept-CH
|
||||||
|
and Accept-CH-Lifetime header. Fetching this webpage should cause
|
||||||
|
user-agent to persist origin preferences for the client hints
|
||||||
|
specified in the Accept-CH header for a duration specified in
|
||||||
|
the Accept-CH-Lifetime header.-->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,2 @@
|
||||||
|
Accept-CH: device-memory
|
||||||
|
Accept-CH-Lifetime: 20
|
|
@ -0,0 +1,28 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// This test checks if browser attaches the device-memory client hint in the
|
||||||
|
// HTTP request headers.
|
||||||
|
|
||||||
|
// echo_client_hints_received.py sets the response headers depending on the set
|
||||||
|
// of client hints it receives in the request headers.
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("../echo_client_hints_received.py").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
// Verify that the browser did not include client hints in the request
|
||||||
|
// headers when fetching echo_client_hints_received.py.
|
||||||
|
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
window.top.opener.postMessage('PASS', '*');
|
||||||
|
});
|
||||||
|
}, "Test if device-memory header was not sent by the browser");
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,28 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// This test checks if browser attaches the device-memory client hint in the
|
||||||
|
// HTTP request headers.
|
||||||
|
|
||||||
|
// echo_client_hints_received.py sets the response headers depending on the set
|
||||||
|
// of client hints it receives in the request headers.
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
return fetch("../echo_client_hints_received.py").then(r => {
|
||||||
|
assert_equals(r.status, 200)
|
||||||
|
// Verify that the browser included client hints in the request headers when
|
||||||
|
// fetching echo_client_hints_received.py.
|
||||||
|
assert_true(r.headers.has("device-memory-received"), "device-memory-received");
|
||||||
|
window.top.opener.postMessage('PASS', '*');
|
||||||
|
});
|
||||||
|
}, "Test if device-memory header was sent by the browser");
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
3
tests/wpt/web-platform-tests/clipboard-apis/META.yml
Normal file
3
tests/wpt/web-platform-tests/clipboard-apis/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- garykac
|
||||||
|
- hallvors
|
|
@ -1,2 +0,0 @@
|
||||||
@garykac
|
|
||||||
@hallvors
|
|
5
tests/wpt/web-platform-tests/common/META.yml
Normal file
5
tests/wpt/web-platform-tests/common/META.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- zqzhang
|
||||||
|
- dontcallmedom
|
||||||
|
- deniak
|
||||||
|
- gsnedders
|
|
@ -1,4 +0,0 @@
|
||||||
@zqzhang
|
|
||||||
@dontcallmedom
|
|
||||||
@deniak
|
|
||||||
@gsnedders
|
|
76
tests/wpt/web-platform-tests/common/subset-tests-by-key.js
Normal file
76
tests/wpt/web-platform-tests/common/subset-tests-by-key.js
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
// Only test a subset of tests with ?include=Foo or ?exclude=Foo in the URL.
|
||||||
|
// Can be used together with <meta name="variant" content="...">
|
||||||
|
// Sample usage:
|
||||||
|
// for (const test of tests) {
|
||||||
|
// subsetTestByKey("Foo", async_test, test.fn, test.name);
|
||||||
|
// }
|
||||||
|
(function() {
|
||||||
|
var subTestKeyPattern = null;
|
||||||
|
var match;
|
||||||
|
var collectKeys = false;
|
||||||
|
var collectCounts = false;
|
||||||
|
var keys = {};
|
||||||
|
var exclude = false;
|
||||||
|
if (location.search) {
|
||||||
|
match = /(?:^\?|&)(include|exclude)=([^&]+)?/.exec(location.search);
|
||||||
|
if (match) {
|
||||||
|
subTestKeyPattern = new RegExp(`^${match[2]}$`);
|
||||||
|
if (match[1] === 'exclude') {
|
||||||
|
exclude = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Below is utility code to generate <meta> for copy/paste into tests.
|
||||||
|
// Sample usage:
|
||||||
|
// test.html?get-keys
|
||||||
|
match = /(?:^\?|&)get-keys(&get-counts)?(?:&|$)/.exec(location.search);
|
||||||
|
if (match) {
|
||||||
|
collectKeys = true;
|
||||||
|
if (match[1]) {
|
||||||
|
collectCounts = true;
|
||||||
|
}
|
||||||
|
add_completion_callback(() => {
|
||||||
|
var metas = [];
|
||||||
|
var template = '<meta name="variant" content="?include=%s">';
|
||||||
|
if (collectCounts) {
|
||||||
|
template += ' <!--%s-->';
|
||||||
|
}
|
||||||
|
for (var key in keys) {
|
||||||
|
var meta = template.replace("%s", key);
|
||||||
|
if (collectCounts) {
|
||||||
|
meta = meta.replace("%s", keys[key]);
|
||||||
|
}
|
||||||
|
metas.push(meta);
|
||||||
|
}
|
||||||
|
var pre = document.createElement('pre');
|
||||||
|
pre.textContent = metas.join('\n') + '\n';
|
||||||
|
document.body.insertBefore(pre, document.body.firstChild);
|
||||||
|
document.getSelection().selectAllChildren(pre);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function shouldRunSubTest(key) {
|
||||||
|
if (key && subTestKeyPattern) {
|
||||||
|
var found = subTestKeyPattern.test(key);
|
||||||
|
if (exclude) {
|
||||||
|
return !found;
|
||||||
|
}
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
function subsetTestByKey(key, testFunc, ...args) {
|
||||||
|
if (collectKeys) {
|
||||||
|
if (collectCounts && key in keys) {
|
||||||
|
keys[key]++;
|
||||||
|
} else {
|
||||||
|
keys[key] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (shouldRunSubTest(key)) {
|
||||||
|
return testFunc(...args);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
self.shouldRunSubTest = shouldRunSubTest;
|
||||||
|
self.subsetTestByKey = subsetTestByKey;
|
||||||
|
})();
|
4
tests/wpt/web-platform-tests/compat/META.yml
Normal file
4
tests/wpt/web-platform-tests/compat/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- cdumez
|
||||||
|
- foolip
|
||||||
|
- miketaylr
|
|
@ -1,3 +0,0 @@
|
||||||
@cdumez
|
|
||||||
@foolip
|
|
||||||
@miketaylr
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- sideshowbarker
|
|
@ -1 +0,0 @@
|
||||||
@sideshowbarker
|
|
4
tests/wpt/web-platform-tests/console/META.yml
Normal file
4
tests/wpt/web-platform-tests/console/META.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- domenic
|
||||||
|
- pwnall
|
||||||
|
- domfarolino
|
|
@ -1,3 +0,0 @@
|
||||||
@domenic
|
|
||||||
@pwnall
|
|
||||||
@domfarolino
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- hillbrad
|
|
@ -1 +0,0 @@
|
||||||
@hillbrad
|
|
3
tests/wpt/web-platform-tests/cookie-store/META.yml
Normal file
3
tests/wpt/web-platform-tests/cookie-store/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- bsittler
|
||||||
|
- pwnall
|
|
@ -1,2 +0,0 @@
|
||||||
@bsittler
|
|
||||||
@pwnall
|
|
3
tests/wpt/web-platform-tests/cookies/META.yml
Normal file
3
tests/wpt/web-platform-tests/cookies/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- inikulin
|
||||||
|
- mikewest
|
|
@ -1,2 +0,0 @@
|
||||||
@inikulin
|
|
||||||
@mikewest
|
|
3
tests/wpt/web-platform-tests/core-aam/META.yml
Normal file
3
tests/wpt/web-platform-tests/core-aam/META.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- halindrome
|
||||||
|
- joanmarie
|
|
@ -1,2 +0,0 @@
|
||||||
@halindrome
|
|
||||||
@joanmarie
|
|
6
tests/wpt/web-platform-tests/cors/META.yml
Normal file
6
tests/wpt/web-platform-tests/cors/META.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- zqzhang
|
||||||
|
- odinho
|
||||||
|
- hillbrad
|
||||||
|
- jdm
|
||||||
|
- annevk
|
|
@ -1,5 +0,0 @@
|
||||||
@zqzhang
|
|
||||||
@odinho
|
|
||||||
@hillbrad
|
|
||||||
@jdm
|
|
||||||
@annevk
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
suggested_reviewers:
|
||||||
|
- mikewest
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue