mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision 4a5223502fa660ce03e470af6a61c8bc26c5a8ee
This commit is contained in:
parent
c5f7c9ccf3
commit
e891345f26
1328 changed files with 36632 additions and 20588 deletions
239
tests/wpt/web-platform-tests/html/dom/interfaces.https.html
Normal file
239
tests/wpt/web-platform-tests/html/dom/interfaces.https.html
Normal file
|
@ -0,0 +1,239 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<!-- WARNING: These tests are preliminary and probably partly incorrect. -->
|
||||
<title>HTML IDL tests</title>
|
||||
<meta name=timeout content=long>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/resources/WebIDLParser.js></script>
|
||||
<script src=/resources/idlharness.js></script>
|
||||
|
||||
<h1>HTML IDL tests</h1>
|
||||
<div id=log></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
var errorVideo; // used to get a MediaError object
|
||||
var iframe; // used to get a Document object (can't use `document` because some test clears the page)
|
||||
setup(function() {
|
||||
errorVideo = document.createElement('video');
|
||||
errorVideo.src = 'data:,';
|
||||
errorVideo.preload = 'auto';
|
||||
iframe = document.createElement('iframe');
|
||||
iframe.hidden = true;
|
||||
document.body.appendChild(iframe);
|
||||
});
|
||||
|
||||
function createInput(type) {
|
||||
var input = document.createElement('input');
|
||||
input.type = type;
|
||||
return input;
|
||||
}
|
||||
|
||||
function doTest([html, dom, cssom, uievents, touchevents]) {
|
||||
var idlArray = new IdlArray();
|
||||
var svg = "interface SVGElement : Element {};";
|
||||
idlArray.add_untested_idls(dom + svg + cssom + uievents + touchevents);
|
||||
idlArray.add_idls(html);
|
||||
|
||||
idlArray.add_objects({
|
||||
NodeList: ['document.getElementsByName("name")'],
|
||||
HTMLAllCollection: ['document.all'],
|
||||
HTMLFormControlsCollection: ['document.createElement("form").elements'],
|
||||
RadioNodeList: [],
|
||||
HTMLOptionsCollection: ['document.createElement("select").options'],
|
||||
DOMStringMap: ['document.head.dataset'],
|
||||
Transferable: [],
|
||||
Document: ['iframe.contentDocument', 'new Document()'],
|
||||
XMLDocument: ['document.implementation.createDocument(null, "", null)'],
|
||||
HTMLElement: ['document.createElement("noscript")'], // more tests in html/semantics/interfaces.js
|
||||
HTMLUnknownElement: ['document.createElement("bgsound")'], // more tests in html/semantics/interfaces.js
|
||||
HTMLHtmlElement: ['document.createElement("html")'],
|
||||
HTMLHeadElement: ['document.createElement("head")'],
|
||||
HTMLTitleElement: ['document.createElement("title")'],
|
||||
HTMLBaseElement: ['document.createElement("base")'],
|
||||
HTMLLinkElement: ['document.createElement("link")'],
|
||||
HTMLMetaElement: ['document.createElement("meta")'],
|
||||
HTMLStyleElement: ['document.createElement("style")'],
|
||||
HTMLScriptElement: ['document.createElement("script")'],
|
||||
HTMLBodyElement: ['document.createElement("body")'],
|
||||
HTMLHeadingElement: ['document.createElement("h1")'],
|
||||
HTMLParagraphElement: ['document.createElement("p")'],
|
||||
HTMLHRElement: ['document.createElement("hr")'],
|
||||
HTMLPreElement: [
|
||||
'document.createElement("pre")',
|
||||
'document.createElement("listing")',
|
||||
'document.createElement("xmp")',
|
||||
],
|
||||
HTMLQuoteElement: [
|
||||
'document.createElement("blockquote")',
|
||||
'document.createElement("q")',
|
||||
],
|
||||
HTMLOlistElement: ['document.createElement("ol")'],
|
||||
HTMLUlistElement: ['document.createElement("ul")'],
|
||||
HTMLLIElement: ['document.createElement("li")'],
|
||||
HTMLDlistElement: ['document.createElement("dl")'],
|
||||
HTMLDivElement: ['document.createElement("div")'],
|
||||
HTMLAnchorElement: ['document.createElement("a")'],
|
||||
HTMLDataElement: ['document.createElement("data")'],
|
||||
HTMLTimeElement: ['document.createElement("time")'],
|
||||
HTMLSpanElement: ['document.createElement("span")'],
|
||||
HTMLBRElement: ['document.createElement("br")'],
|
||||
HTMLModElement: [
|
||||
'document.createElement("ins")',
|
||||
'document.createElement("del")',
|
||||
],
|
||||
HTMLPictureElement: ['document.createElement("picture")'],
|
||||
HTMLImageElement: ['document.createElement("img")', 'new Image()'],
|
||||
HTMLIframeElement: ['document.createElement("iframe")'],
|
||||
HTMLEmbedElement: ['document.createElement("embed")'],
|
||||
HTMLObjectElement: ['document.createElement("object")'],
|
||||
HTMLParamElement: ['document.createElement("param")'],
|
||||
HTMLVideoElement: ['document.createElement("video")'],
|
||||
HTMLAudioElement: ['document.createElement("audio")', 'new Audio()'],
|
||||
HTMLSourceElement: ['document.createElement("source")'],
|
||||
HTMLTrackElement: ['document.createElement("track")'],
|
||||
HTMLMediaElement: [],
|
||||
MediaError: ['errorVideo.error'],
|
||||
AudioTrackList: [],
|
||||
AudioTrack: [],
|
||||
VideoTrackList: [],
|
||||
VideoTrack: [],
|
||||
TextTrackList: ['document.createElement("video").textTracks'],
|
||||
TextTrack: ['document.createElement("track").track'],
|
||||
TextTrackCueList: ['document.createElement("video").addTextTrack("subtitles").cues'],
|
||||
TextTrackCue: [],
|
||||
DataCue: [],
|
||||
TimeRanges: ['document.createElement("video").buffered'],
|
||||
TrackEvent: ['new TrackEvent("addtrack", {track:document.createElement("track").track})'],
|
||||
HTMLTemplateElement: ['document.createElement("template")'],
|
||||
HTMLSlotElement: ['document.createElement("slot")'],
|
||||
HTMLCanvasElement: ['document.createElement("canvas")'],
|
||||
CanvasRenderingContext2D: ['document.createElement("canvas").getContext("2d")'],
|
||||
CanvasGradient: [],
|
||||
CanvasPattern: [],
|
||||
TextMetrics: [],
|
||||
ImageData: [],
|
||||
HTMLMapElement: ['document.createElement("map")'],
|
||||
HTMLAreaElement: ['document.createElement("area")'],
|
||||
HTMLTableElement: ['document.createElement("table")'],
|
||||
HTMLTableCaptionElement: ['document.createElement("caption")'],
|
||||
HTMLTableColElement: [
|
||||
'document.createElement("colgroup")',
|
||||
'document.createElement("col")',
|
||||
],
|
||||
HTMLTableSectionElement: [
|
||||
'document.createElement("tbody")',
|
||||
'document.createElement("thead")',
|
||||
'document.createElement("tfoot")',
|
||||
],
|
||||
HTMLTableRowElement: ['document.createElement("tr")'],
|
||||
HTMLTableCellElement: [
|
||||
'document.createElement("td")',
|
||||
'document.createElement("th")',
|
||||
],
|
||||
HTMLFormElement: ['document.createElement("form")'],
|
||||
HTMLFieldsetElement: ['document.createElement("fieldset")'],
|
||||
HTMLLegendElement: ['document.createElement("legend")'],
|
||||
HTMLLabelElement: ['document.createElement("label")'],
|
||||
HTMLInputElement: [
|
||||
'document.createElement("input")',
|
||||
'createInput("text")',
|
||||
'createInput("hidden")',
|
||||
'createInput("search")',
|
||||
'createInput("tel")',
|
||||
'createInput("url")',
|
||||
'createInput("email")',
|
||||
'createInput("password")',
|
||||
'createInput("date")',
|
||||
'createInput("month")',
|
||||
'createInput("week")',
|
||||
'createInput("time")',
|
||||
'createInput("datetime-local")',
|
||||
'createInput("number")',
|
||||
'createInput("range")',
|
||||
'createInput("color")',
|
||||
'createInput("checkbox")',
|
||||
'createInput("radio")',
|
||||
'createInput("file")',
|
||||
'createInput("submit")',
|
||||
'createInput("image")',
|
||||
'createInput("reset")',
|
||||
'createInput("button")'
|
||||
],
|
||||
HTMLButtonElement: ['document.createElement("button")'],
|
||||
HTMLSelectElement: ['document.createElement("select")'],
|
||||
HTMLDataListElement: ['document.createElement("datalist")'],
|
||||
HTMLOptGroupElement: ['document.createElement("optgroup")'],
|
||||
HTMLOptionElement: ['document.createElement("option")', 'new Option()'],
|
||||
HTMLTextAreaElement: ['document.createElement("textarea")'],
|
||||
HTMLOutputElement: ['document.createElement("output")'],
|
||||
HTMLProgressElement: ['document.createElement("progress")'],
|
||||
HTMLMeterElement: ['document.createElement("meter")'],
|
||||
ValidityState: ['document.createElement("input").validity'],
|
||||
HTMLDetailsElement: ['document.createElement("details")'],
|
||||
HTMLMenuElement: ['document.createElement("menu")'],
|
||||
Window: ['window'],
|
||||
BarProp: [],
|
||||
History: ['window.history'],
|
||||
Location: ['window.location'],
|
||||
PopStateEvent: ['new PopStateEvent("popstate", { data: {} })'],
|
||||
HashChangeEvent: [],
|
||||
PageTransitionEvent: [],
|
||||
BeforeUnloadEvent: [],
|
||||
ApplicationCache: ['window.applicationCache'],
|
||||
WindowModal: [],
|
||||
Navigator: ['window.navigator'],
|
||||
External: ['window.external'],
|
||||
DataTransfer: [],
|
||||
DataTransferItemList: [],
|
||||
DataTransferItem: [],
|
||||
DragEvent: [],
|
||||
NavigatorUserMediaError: [],
|
||||
MediaStream: [],
|
||||
LocalMediaStream: [],
|
||||
MediaStreamTrack: [],
|
||||
MediaStreamRecorder: [],
|
||||
PeerConnection: [],
|
||||
MediaStreamEvent: [],
|
||||
ErrorEvent: [],
|
||||
WebSocket: ['new WebSocket("wss://foo")'],
|
||||
CloseEvent: ['new CloseEvent("close")'],
|
||||
AbstractWorker: [],
|
||||
Worker: [],
|
||||
SharedWorker: [],
|
||||
MessageEvent: ['new MessageEvent("message", { data: 5 })'],
|
||||
MessageChannel: [],
|
||||
MessagePort: [],
|
||||
HTMLMarqueeElement: ['document.createElement("marquee")'],
|
||||
HTMLFrameSetElement: ['document.createElement("frameset")'],
|
||||
HTMLFrameElement: ['document.createElement("frame")'],
|
||||
HTMLDirectoryElement: ['document.createElement("dir")'],
|
||||
HTMLFontElement: ['document.createElement("font")'],
|
||||
});
|
||||
idlArray.prevent_multiple_testing("HTMLElement");
|
||||
idlArray.test();
|
||||
};
|
||||
|
||||
function fetchData(url) {
|
||||
return fetch(url).then((response) => response.text());
|
||||
}
|
||||
|
||||
function waitForLoad() {
|
||||
return new Promise(function(resolve) {
|
||||
addEventListener("load", resolve);
|
||||
});
|
||||
}
|
||||
|
||||
promise_test(function() {
|
||||
// Have to wait for onload
|
||||
return Promise.all([fetchData("/interfaces/html.idl"),
|
||||
fetchData("/interfaces/dom.idl"),
|
||||
fetchData("/interfaces/cssom.idl"),
|
||||
fetchData("/interfaces/touchevents.idl"),
|
||||
fetchData("/interfaces/uievents.idl"),
|
||||
waitForLoad()])
|
||||
.then(doTest);
|
||||
}, "Test driver");
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue