test: update Modernizer tests to Safari 18 (#32290)
Fixes https://github.com/microsoft/playwright/issues/32288 --------- Signed-off-by: Max Schmitt <max@schmitt.mx> Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
This commit is contained in:
parent
787f20c920
commit
0d4d5758c4
|
|
@ -1,12 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Detect Touch Test</title>
|
|
||||||
<script src='modernizr.js'></script>
|
|
||||||
</head>
|
|
||||||
<body style="font-size:30vmin">
|
|
||||||
<script>
|
|
||||||
document.body.textContent = Modernizr.touchevents ? 'YES' : 'NO';
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
<script src='modernizr.js'></script>
|
|
||||||
<body></body>
|
|
||||||
<script>
|
|
||||||
const report = {};
|
|
||||||
for (const name in Modernizr) {
|
|
||||||
if (name.startsWith('_'))
|
|
||||||
continue;
|
|
||||||
if (['on', 'testAllProps', 'testProp', 'addTest', 'prefixed'].includes(name))
|
|
||||||
continue;
|
|
||||||
let value = Modernizr[name];
|
|
||||||
report[name] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
report['devicemotion2'] = 'ondevicemotion' in window;
|
|
||||||
report['deviceorientation2'] = 'orientation' in window;
|
|
||||||
report['deviceorientation3'] = 'ondeviceorientation' in window;
|
|
||||||
|
|
||||||
document.body.style.whiteSpace = 'pre';
|
|
||||||
document.body.textContent = JSON.stringify(report, undefined, 4);
|
|
||||||
window.report = JSON.parse(document.body.textContent);
|
|
||||||
</script>
|
|
||||||
File diff suppressed because one or more lines are too long
18
tests/assets/modernizr/README.md
Normal file
18
tests/assets/modernizr/README.md
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Playwright Modernizr tests
|
||||||
|
|
||||||
|
## Rolling Modernizr
|
||||||
|
|
||||||
|
- [modernizr.com](modernizr.com) isn't getting updated anymore, see [here](https://github.com/Modernizr/Modernizr/issues/2490) and [here](https://github.com/Modernizr/Modernizr/commit/db96bdaff995a1d4abccb0dc69c77db7b47ad614). It only contains version 3.6.
|
||||||
|
- This is why we build it from source ourselves, using `roll.sh` (they recommend it).
|
||||||
|
|
||||||
|
## Updating expectations
|
||||||
|
|
||||||
|
1. `npx http-server .`
|
||||||
|
1. Navigate to `http://127.0.0.1:8080/tests/assets/modernizr/index.html`
|
||||||
|
|
||||||
|
Do this with:
|
||||||
|
|
||||||
|
- Safari Technology Preview
|
||||||
|
- Apple iPhone
|
||||||
|
|
||||||
|
Make sure to change the updated file's name.
|
||||||
26
tests/assets/modernizr/index.html
Normal file
26
tests/assets/modernizr/index.html
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
<script src='modernizr.js'></script>
|
||||||
|
<body></body>
|
||||||
|
<script>
|
||||||
|
function serialize(value) {
|
||||||
|
if (typeof value !== 'object')
|
||||||
|
return value;
|
||||||
|
const copy = {};
|
||||||
|
for (const key in value) {
|
||||||
|
if (typeof value[key] === 'function')
|
||||||
|
continue;
|
||||||
|
if (key.startsWith('_'))
|
||||||
|
continue;
|
||||||
|
copy[key] = serialize(value[key]);
|
||||||
|
}
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
const report = serialize(Modernizr);
|
||||||
|
|
||||||
|
report['devicemotion2'] = 'ondevicemotion' in window;
|
||||||
|
report['deviceorientation2'] = 'orientation' in window;
|
||||||
|
report['deviceorientation3'] = 'ondeviceorientation' in window;
|
||||||
|
|
||||||
|
document.body.style.whiteSpace = 'pre';
|
||||||
|
document.body.textContent = JSON.stringify(report, undefined, 2);
|
||||||
|
window.report = JSON.parse(document.body.textContent);
|
||||||
|
</script>
|
||||||
|
|
@ -11,6 +11,249 @@
|
||||||
"required": true,
|
"required": true,
|
||||||
"step": true
|
"step": true
|
||||||
},
|
},
|
||||||
|
"adownload": true,
|
||||||
|
"aping": true,
|
||||||
|
"areaping": true,
|
||||||
|
"ambientlight": false,
|
||||||
|
"applicationcache": false,
|
||||||
|
"audio": {
|
||||||
|
"ogg": "",
|
||||||
|
"mp3": "probably",
|
||||||
|
"opus": "probably",
|
||||||
|
"wav": "probably",
|
||||||
|
"m4a": "maybe"
|
||||||
|
},
|
||||||
|
"audioloop": true,
|
||||||
|
"webaudio": true,
|
||||||
|
"batteryapi": false,
|
||||||
|
"battery-api": false,
|
||||||
|
"lowbattery": false,
|
||||||
|
"blobconstructor": true,
|
||||||
|
"blob-constructor": true,
|
||||||
|
"broadcastchannel": true,
|
||||||
|
"canvas": true,
|
||||||
|
"canvasblending": true,
|
||||||
|
"todataurljpeg": true,
|
||||||
|
"todataurlpng": true,
|
||||||
|
"todataurlwebp": false,
|
||||||
|
"canvaswinding": true,
|
||||||
|
"canvastext": true,
|
||||||
|
"clipboard": {
|
||||||
|
"read": true,
|
||||||
|
"readtext": true,
|
||||||
|
"write": true,
|
||||||
|
"writetext": true
|
||||||
|
},
|
||||||
|
"contenteditable": true,
|
||||||
|
"contextmenu": false,
|
||||||
|
"cors": true,
|
||||||
|
"crypto": true,
|
||||||
|
"getrandomvalues": true,
|
||||||
|
"cssall": true,
|
||||||
|
"cssanimations": true,
|
||||||
|
"appearance": true,
|
||||||
|
"aspectratio": true,
|
||||||
|
"backdropfilter": true,
|
||||||
|
"backgroundblendmode": true,
|
||||||
|
"backgroundcliptext": true,
|
||||||
|
"bgpositionshorthand": true,
|
||||||
|
"bgpositionxy": true,
|
||||||
|
"bgrepeatround": true,
|
||||||
|
"bgrepeatspace": true,
|
||||||
|
"backgroundsize": true,
|
||||||
|
"bgsizecover": true,
|
||||||
|
"borderimage": true,
|
||||||
|
"borderradius": true,
|
||||||
|
"boxdecorationbreak": true,
|
||||||
|
"boxshadow": true,
|
||||||
|
"boxsizing": true,
|
||||||
|
"csscalc": true,
|
||||||
|
"checked": true,
|
||||||
|
"csschunit": true,
|
||||||
|
"csscolumns": {
|
||||||
|
"width": true,
|
||||||
|
"span": true,
|
||||||
|
"fill": true,
|
||||||
|
"gap": true,
|
||||||
|
"rule": true,
|
||||||
|
"rulecolor": true,
|
||||||
|
"rulestyle": true,
|
||||||
|
"rulewidth": true,
|
||||||
|
"breakbefore": true,
|
||||||
|
"breakafter": true,
|
||||||
|
"breakinside": true
|
||||||
|
},
|
||||||
|
"cssgridlegacy": false,
|
||||||
|
"cssgrid": true,
|
||||||
|
"cubicbezierrange": true,
|
||||||
|
"customproperties": true,
|
||||||
|
"displayrunin": false,
|
||||||
|
"display-runin": false,
|
||||||
|
"displaytable": true,
|
||||||
|
"display-table": true,
|
||||||
|
"ellipsis": true,
|
||||||
|
"cssescape": true,
|
||||||
|
"cssexunit": true,
|
||||||
|
"supports": true,
|
||||||
|
"cssfilters": true,
|
||||||
|
"flexbox": true,
|
||||||
|
"flexboxlegacy": true,
|
||||||
|
"flexboxtweener": false,
|
||||||
|
"flexgap": true,
|
||||||
|
"flexwrap": true,
|
||||||
|
"focusvisible": true,
|
||||||
|
"focuswithin": true,
|
||||||
|
"fontdisplay": true,
|
||||||
|
"fontface": true,
|
||||||
|
"generatedcontent": true,
|
||||||
|
"cssgradients": true,
|
||||||
|
"hairline": true,
|
||||||
|
"hsla": true,
|
||||||
|
"cssinvalid": true,
|
||||||
|
"lastchild": true,
|
||||||
|
"cssmask": true,
|
||||||
|
"mediaqueries": true,
|
||||||
|
"multiplebgs": true,
|
||||||
|
"nthchild": true,
|
||||||
|
"objectfit": true,
|
||||||
|
"object-fit": true,
|
||||||
|
"opacity": true,
|
||||||
|
"overflowscrolling": true,
|
||||||
|
"csspointerevents": true,
|
||||||
|
"csspositionsticky": true,
|
||||||
|
"csspseudoanimations": true,
|
||||||
|
"csstransitions": true,
|
||||||
|
"csspseudotransitions": true,
|
||||||
|
"cssreflections": true,
|
||||||
|
"regions": false,
|
||||||
|
"cssremunit": true,
|
||||||
|
"cssresize": true,
|
||||||
|
"rgba": true,
|
||||||
|
"cssscrollbar": false,
|
||||||
|
"scrollsnappoints": true,
|
||||||
|
"shapes": true,
|
||||||
|
"siblinggeneral": true,
|
||||||
|
"subpixelfont": true,
|
||||||
|
"target": true,
|
||||||
|
"textalignlast": true,
|
||||||
|
"textdecoration": {
|
||||||
|
"line": true,
|
||||||
|
"style": true,
|
||||||
|
"color": true,
|
||||||
|
"skip": true,
|
||||||
|
"skipink": true
|
||||||
|
},
|
||||||
|
"textshadow": true,
|
||||||
|
"csstransforms": true,
|
||||||
|
"csstransforms3d": true,
|
||||||
|
"csstransformslevel2": true,
|
||||||
|
"preserve3d": true,
|
||||||
|
"userselect": true,
|
||||||
|
"cssvalid": true,
|
||||||
|
"variablefonts": true,
|
||||||
|
"cssvhunit": true,
|
||||||
|
"cssvmaxunit": false,
|
||||||
|
"cssvminunit": true,
|
||||||
|
"cssvwunit": true,
|
||||||
|
"willchange": true,
|
||||||
|
"wrapflow": false,
|
||||||
|
"customelements": true,
|
||||||
|
"customprotocolhandler": false,
|
||||||
|
"dart": false,
|
||||||
|
"dataview": true,
|
||||||
|
"classlist": true,
|
||||||
|
"createelementattrs": false,
|
||||||
|
"createelement-attrs": false,
|
||||||
|
"dataset": true,
|
||||||
|
"documentfragment": true,
|
||||||
|
"hidden": true,
|
||||||
|
"intersectionobserver": true,
|
||||||
|
"microdata": false,
|
||||||
|
"mutationobserver": true,
|
||||||
|
"passiveeventlisteners": true,
|
||||||
|
"shadowroot": true,
|
||||||
|
"shadowrootlegacy": false,
|
||||||
|
"bdi": true,
|
||||||
|
"details": true,
|
||||||
|
"outputelem": true,
|
||||||
|
"picture": true,
|
||||||
|
"progressbar": true,
|
||||||
|
"meter": true,
|
||||||
|
"ruby": true,
|
||||||
|
"template": true,
|
||||||
|
"time": false,
|
||||||
|
"texttrackapi": true,
|
||||||
|
"track": true,
|
||||||
|
"unknownelements": true,
|
||||||
|
"emoji": true,
|
||||||
|
"es5array": true,
|
||||||
|
"es5date": true,
|
||||||
|
"es5function": true,
|
||||||
|
"es5object": true,
|
||||||
|
"strictmode": true,
|
||||||
|
"es5string": true,
|
||||||
|
"json": true,
|
||||||
|
"es5syntax": true,
|
||||||
|
"es5undefined": true,
|
||||||
|
"es5": true,
|
||||||
|
"es6array": true,
|
||||||
|
"arrow": true,
|
||||||
|
"es6class": true,
|
||||||
|
"es6collections": true,
|
||||||
|
"generators": true,
|
||||||
|
"es6math": true,
|
||||||
|
"es6number": true,
|
||||||
|
"es6object": true,
|
||||||
|
"promises": true,
|
||||||
|
"restparameters": true,
|
||||||
|
"spreadarray": true,
|
||||||
|
"stringtemplate": true,
|
||||||
|
"es6string": true,
|
||||||
|
"es6symbol": true,
|
||||||
|
"es7array": true,
|
||||||
|
"restdestructuringarray": true,
|
||||||
|
"restdestructuringobject": true,
|
||||||
|
"spreadobject": true,
|
||||||
|
"es8object": true,
|
||||||
|
"customevent": true,
|
||||||
|
"devicemotion": true,
|
||||||
|
"deviceorientation": true,
|
||||||
|
"eventlistener": true,
|
||||||
|
"forcetouch": false,
|
||||||
|
"hashchange": true,
|
||||||
|
"oninput": true,
|
||||||
|
"pointerevents": true,
|
||||||
|
"proximity": false,
|
||||||
|
"filereader": true,
|
||||||
|
"filesystem": false,
|
||||||
|
"flash": false,
|
||||||
|
"fullscreen": false,
|
||||||
|
"gamepads": true,
|
||||||
|
"geolocation": true,
|
||||||
|
"hiddenscroll": true,
|
||||||
|
"history": true,
|
||||||
|
"htmlimports": false,
|
||||||
|
"ie8compat": false,
|
||||||
|
"sandbox": true,
|
||||||
|
"seamless": false,
|
||||||
|
"srcdoc": true,
|
||||||
|
"imgcrossorigin": true,
|
||||||
|
"lazyloading": true,
|
||||||
|
"sizes": true,
|
||||||
|
"srcset": true,
|
||||||
|
"capture": true,
|
||||||
|
"fileinput": true,
|
||||||
|
"fileinputdirectory": true,
|
||||||
|
"inputformaction": true,
|
||||||
|
"input-formaction": true,
|
||||||
|
"formattribute": true,
|
||||||
|
"inputformenctype": true,
|
||||||
|
"input-formenctype": true,
|
||||||
|
"inputformmethod": true,
|
||||||
|
"inputformnovalidate": true,
|
||||||
|
"input-formnovalidate": true,
|
||||||
|
"inputformtarget": true,
|
||||||
|
"input-formtarget": true,
|
||||||
"inputtypes": {
|
"inputtypes": {
|
||||||
"search": true,
|
"search": true,
|
||||||
"tel": true,
|
"tel": true,
|
||||||
|
|
@ -26,278 +269,140 @@
|
||||||
"range": true,
|
"range": true,
|
||||||
"color": true
|
"color": true
|
||||||
},
|
},
|
||||||
"htmlimports": false,
|
"formvalidation": true,
|
||||||
"history": true,
|
"localizednumber": false,
|
||||||
"ie8compat": false,
|
"inputsearchevent": false,
|
||||||
"applicationcache": false,
|
"placeholder": true,
|
||||||
"blobconstructor": true,
|
"requestautocomplete": false,
|
||||||
"blob-constructor": true,
|
"intl": true,
|
||||||
"cookies": true,
|
"ligatures": true,
|
||||||
"cors": true,
|
"olreversed": true,
|
||||||
"customelements": true,
|
"mathml": true,
|
||||||
"customprotocolhandler": false,
|
"mediasource": false,
|
||||||
"customevent": true,
|
"hovermq": false,
|
||||||
"dataview": true,
|
"pointermq": true,
|
||||||
"eventlistener": true,
|
|
||||||
"geolocation": true,
|
|
||||||
"json": true,
|
|
||||||
"messagechannel": true,
|
"messagechannel": true,
|
||||||
"notification": false,
|
|
||||||
"postmessage": true,
|
|
||||||
"queryselector": true,
|
|
||||||
"serviceworker": true,
|
|
||||||
"svg": true,
|
|
||||||
"templatestrings": true,
|
|
||||||
"typedarrays": true,
|
|
||||||
"websockets": true,
|
|
||||||
"xdomainrequest": false,
|
|
||||||
"webaudio": true,
|
|
||||||
"cssescape": true,
|
|
||||||
"focuswithin": true,
|
|
||||||
"supports": true,
|
|
||||||
"target": true,
|
|
||||||
"microdata": false,
|
|
||||||
"mutationobserver": true,
|
|
||||||
"passiveeventlisteners": true,
|
|
||||||
"picture": true,
|
|
||||||
"es5array": true,
|
|
||||||
"es5date": true,
|
|
||||||
"es5function": true,
|
|
||||||
"beacon": true,
|
"beacon": true,
|
||||||
|
"effectivetype": false,
|
||||||
"lowbandwidth": false,
|
"lowbandwidth": false,
|
||||||
"eventsource": true,
|
"eventsource": true,
|
||||||
"fetch": true,
|
"fetch": true,
|
||||||
"xhrresponsetype": true,
|
|
||||||
"xhr2": true,
|
|
||||||
"speechsynthesis": true,
|
|
||||||
"localstorage": true,
|
|
||||||
"sessionstorage": true,
|
|
||||||
"websqldatabase": true,
|
|
||||||
"es5object": true,
|
|
||||||
"svgfilters": true,
|
|
||||||
"strictmode": true,
|
|
||||||
"es5string": true,
|
|
||||||
"es5syntax": true,
|
|
||||||
"es5undefined": true,
|
|
||||||
"es5": true,
|
|
||||||
"es6array": true,
|
|
||||||
"arrow": true,
|
|
||||||
"es6collections": true,
|
|
||||||
"generators": true,
|
|
||||||
"es6math": true,
|
|
||||||
"es6number": true,
|
|
||||||
"es6object": true,
|
|
||||||
"promises": true,
|
|
||||||
"es6string": true,
|
|
||||||
"devicemotion": true,
|
|
||||||
"devicemotion2": true,
|
|
||||||
"deviceorientation": true,
|
|
||||||
"deviceorientation2": true,
|
|
||||||
"deviceorientation3": true,
|
|
||||||
"filereader": true,
|
|
||||||
"urlparser": true,
|
|
||||||
"urlsearchparams": true,
|
|
||||||
"framed": false,
|
|
||||||
"webworkers": true,
|
|
||||||
"contextmenu": false,
|
|
||||||
"cssall": true,
|
|
||||||
"willchange": true,
|
|
||||||
"classlist": true,
|
|
||||||
"documentfragment": true,
|
|
||||||
"contains": false,
|
|
||||||
"audio": true,
|
|
||||||
"canvas": true,
|
|
||||||
"canvastext": true,
|
|
||||||
"contenteditable": true,
|
|
||||||
"emoji": false,
|
|
||||||
"olreversed": true,
|
|
||||||
"userdata": false,
|
|
||||||
"video": true,
|
|
||||||
"vml": false,
|
|
||||||
"webanimations": true,
|
|
||||||
"webgl": true,
|
|
||||||
"adownload": true,
|
|
||||||
"audioloop": true,
|
|
||||||
"canvasblending": true,
|
|
||||||
"todataurljpeg": true,
|
|
||||||
"todataurlpng": true,
|
|
||||||
"todataurlwebp": false,
|
|
||||||
"canvaswinding": true,
|
|
||||||
"bgpositionshorthand": true,
|
|
||||||
"multiplebgs": true,
|
|
||||||
"csspointerevents": true,
|
|
||||||
"cssremunit": true,
|
|
||||||
"rgba": true,
|
|
||||||
"preserve3d": true,
|
|
||||||
"createelementattrs": false,
|
|
||||||
"createelement-attrs": false,
|
|
||||||
"dataset": true,
|
|
||||||
"hidden": true,
|
|
||||||
"outputelem": true,
|
|
||||||
"progressbar": true,
|
|
||||||
"meter": true,
|
|
||||||
"ruby": true,
|
|
||||||
"template": true,
|
|
||||||
"srcset": true,
|
|
||||||
"time": false,
|
|
||||||
"texttrackapi": true,
|
|
||||||
"track": true,
|
|
||||||
"unknownelements": true,
|
|
||||||
"inputformaction": true,
|
|
||||||
"input-formaction": true,
|
|
||||||
"inputformenctype": true,
|
|
||||||
"input-formenctype": true,
|
|
||||||
"inputformmethod": true,
|
|
||||||
"inputformtarget": false,
|
|
||||||
"input-formtarget": false,
|
|
||||||
"scriptasync": true,
|
|
||||||
"scriptdefer": true,
|
|
||||||
"stylescoped": false,
|
|
||||||
"capture": true,
|
|
||||||
"fileinput": true,
|
|
||||||
"formattribute": true,
|
|
||||||
"placeholder": true,
|
|
||||||
"sandbox": true,
|
|
||||||
"inlinesvg": true,
|
|
||||||
"textareamaxlength": true,
|
|
||||||
"videocrossorigin": true,
|
|
||||||
"webglextensions": true,
|
|
||||||
"seamless": false,
|
|
||||||
"srcdoc": true,
|
|
||||||
"imgcrossorigin": true,
|
|
||||||
"hashchange": true,
|
|
||||||
"inputsearchevent": false,
|
|
||||||
"ambientlight": false,
|
|
||||||
"datalistelem": true,
|
|
||||||
"videoloop": true,
|
|
||||||
"csscalc": true,
|
|
||||||
"cubicbezierrange": true,
|
|
||||||
"cssgradients": true,
|
|
||||||
"opacity": true,
|
|
||||||
"csspositionsticky": true,
|
|
||||||
"csschunit": true,
|
|
||||||
"cssexunit": true,
|
|
||||||
"hsla": true,
|
|
||||||
"videopreload": true,
|
|
||||||
"getusermedia": true,
|
|
||||||
"websocketsbinary": true,
|
|
||||||
"atobbtoa": true,
|
|
||||||
"atob-btoa": true,
|
|
||||||
"sharedworkers": true,
|
|
||||||
"bdi": true,
|
|
||||||
"xhrresponsetypearraybuffer": true,
|
"xhrresponsetypearraybuffer": true,
|
||||||
"xhrresponsetypeblob": true,
|
"xhrresponsetypeblob": true,
|
||||||
"xhrresponsetypedocument": true,
|
"xhrresponsetypedocument": true,
|
||||||
"xhrresponsetypejson": true,
|
"xhrresponsetypejson": true,
|
||||||
"xhrresponsetypetext": true,
|
"xhrresponsetypetext": true,
|
||||||
"svgclippaths": true,
|
"xhrresponsetype": true,
|
||||||
"svgforeignobject": true,
|
"xhr2": true,
|
||||||
"smil": true,
|
"notification": false,
|
||||||
"hiddenscroll": true,
|
|
||||||
"mathml": true,
|
|
||||||
"touchevents": true,
|
|
||||||
"unicoderange": true,
|
|
||||||
"unicode": true,
|
|
||||||
"checked": true,
|
|
||||||
"displaytable": true,
|
|
||||||
"display-table": true,
|
|
||||||
"fontface": true,
|
|
||||||
"generatedcontent": true,
|
|
||||||
"hairline": true,
|
|
||||||
"cssinvalid": true,
|
|
||||||
"lastchild": true,
|
|
||||||
"nthchild": true,
|
|
||||||
"cssscrollbar": false,
|
|
||||||
"siblinggeneral": true,
|
|
||||||
"subpixelfont": true,
|
|
||||||
"cssvalid": true,
|
|
||||||
"cssvhunit": false,
|
|
||||||
"cssvmaxunit": false,
|
|
||||||
"cssvminunit": true,
|
|
||||||
"cssvwunit": true,
|
|
||||||
"details": true,
|
|
||||||
"oninput": true,
|
|
||||||
"formvalidation": true,
|
|
||||||
"localizednumber": false,
|
|
||||||
"mediaqueries": true,
|
|
||||||
"flash": false,
|
|
||||||
"proximity": false,
|
|
||||||
"sizes": true,
|
|
||||||
"hovermq": false,
|
|
||||||
"pointermq": true,
|
|
||||||
"svgasimg": true,
|
|
||||||
"pointerevents": true,
|
|
||||||
"fileinputdirectory": true,
|
|
||||||
"textshadow": true,
|
|
||||||
"batteryapi": false,
|
|
||||||
"battery-api": false,
|
|
||||||
"crypto": true,
|
|
||||||
"dart": false,
|
|
||||||
"forcetouch": false,
|
|
||||||
"fullscreen": false,
|
|
||||||
"gamepads": true,
|
|
||||||
"intl": true,
|
|
||||||
"pagevisibility": true,
|
"pagevisibility": true,
|
||||||
"performance": true,
|
"performance": true,
|
||||||
"pointerlock": false,
|
"pointerlock": false,
|
||||||
"quotamanagement": false,
|
"postmessage": {
|
||||||
|
"structuredclones": true
|
||||||
|
},
|
||||||
|
"proxy": true,
|
||||||
|
"queryselector": true,
|
||||||
|
"prefetch": false,
|
||||||
"requestanimationframe": true,
|
"requestanimationframe": true,
|
||||||
"raf": true,
|
"raf": true,
|
||||||
"vibrate": false,
|
"scriptasync": true,
|
||||||
"webintents": false,
|
"scriptdefer": true,
|
||||||
"lowbattery": false,
|
"scrolltooptions": true,
|
||||||
"getrandomvalues": true,
|
"serviceworker": true,
|
||||||
"backgroundblendmode": true,
|
|
||||||
"objectfit": true,
|
|
||||||
"object-fit": true,
|
|
||||||
"regions": false,
|
|
||||||
"wrapflow": false,
|
|
||||||
"speechrecognition": true,
|
"speechrecognition": true,
|
||||||
"filesystem": false,
|
"speechsynthesis": true,
|
||||||
"requestautocomplete": false,
|
"cookies": true,
|
||||||
|
"localstorage": true,
|
||||||
|
"quotamanagement": false,
|
||||||
|
"sessionstorage": true,
|
||||||
|
"userdata": false,
|
||||||
|
"websqldatabase": true,
|
||||||
|
"stylescoped": false,
|
||||||
|
"svg": true,
|
||||||
|
"svgasimg": true,
|
||||||
|
"svgclippaths": true,
|
||||||
|
"svgfilters": true,
|
||||||
|
"svgforeignobject": true,
|
||||||
|
"inlinesvg": true,
|
||||||
|
"smil": true,
|
||||||
|
"textareamaxlength": true,
|
||||||
|
"textencoder": true,
|
||||||
|
"textdecoder": true,
|
||||||
|
"typedarrays": true,
|
||||||
|
"unicoderange": true,
|
||||||
"bloburls": true,
|
"bloburls": true,
|
||||||
"transferables": true,
|
"urlparser": true,
|
||||||
|
"urlsearchparams": true,
|
||||||
|
"vibrate": false,
|
||||||
|
"video": {
|
||||||
|
"ogg": "",
|
||||||
|
"h264": "probably",
|
||||||
|
"h265": "",
|
||||||
|
"webm": "probably",
|
||||||
|
"vp9": "probably",
|
||||||
|
"hls": "probably",
|
||||||
|
"av1": ""
|
||||||
|
},
|
||||||
|
"videocrossorigin": true,
|
||||||
|
"videoloop": true,
|
||||||
|
"videopreload": true,
|
||||||
|
"vml": false,
|
||||||
|
"webintents": false,
|
||||||
|
"webanimations": true,
|
||||||
|
"publickeycredential": true,
|
||||||
|
"webgl": true,
|
||||||
|
"webglextensions": {
|
||||||
|
"ANGLE_instanced_arrays": true,
|
||||||
|
"EXT_blend_minmax": true,
|
||||||
|
"EXT_clip_control": true,
|
||||||
|
"EXT_color_buffer_half_float": true,
|
||||||
|
"EXT_depth_clamp": true,
|
||||||
|
"EXT_frag_depth": true,
|
||||||
|
"EXT_polygon_offset_clamp": true,
|
||||||
|
"EXT_shader_texture_lod": true,
|
||||||
|
"EXT_texture_filter_anisotropic": true,
|
||||||
|
"EXT_sRGB": true,
|
||||||
|
"KHR_parallel_shader_compile": true,
|
||||||
|
"OES_element_index_uint": true,
|
||||||
|
"OES_fbo_render_mipmap": true,
|
||||||
|
"OES_standard_derivatives": true,
|
||||||
|
"OES_texture_float": true,
|
||||||
|
"OES_texture_half_float": true,
|
||||||
|
"OES_texture_half_float_linear": true,
|
||||||
|
"OES_vertex_array_object": true,
|
||||||
|
"WEBGL_color_buffer_float": true,
|
||||||
|
"WEBGL_compressed_texture_astc": true,
|
||||||
|
"WEBGL_compressed_texture_etc": true,
|
||||||
|
"WEBGL_compressed_texture_etc1": true,
|
||||||
|
"WEBGL_compressed_texture_pvrtc": true,
|
||||||
|
"WEBKIT_WEBGL_compressed_texture_pvrtc": true,
|
||||||
|
"WEBGL_debug_renderer_info": true,
|
||||||
|
"WEBGL_debug_shaders": true,
|
||||||
|
"WEBGL_depth_texture": true,
|
||||||
|
"WEBGL_draw_buffers": true,
|
||||||
|
"WEBGL_lose_context": true,
|
||||||
|
"WEBGL_multi_draw": true,
|
||||||
|
"WEBGL_polygon_mode": true
|
||||||
|
},
|
||||||
"peerconnection": true,
|
"peerconnection": true,
|
||||||
"datachannel": false,
|
"datachannel": true,
|
||||||
|
"getusermedia": true,
|
||||||
|
"mediastream": true,
|
||||||
|
"websockets": true,
|
||||||
|
"websocketsbinary": true,
|
||||||
|
"atobbtoa": true,
|
||||||
|
"atob-btoa": true,
|
||||||
|
"framed": false,
|
||||||
"matchmedia": true,
|
"matchmedia": true,
|
||||||
"ligatures": true,
|
"pushmanager": false,
|
||||||
"cssanimations": true,
|
"resizeobserver": true,
|
||||||
"csspseudoanimations": true,
|
"workertypeoption": true,
|
||||||
"appearance": true,
|
"sharedworkers": true,
|
||||||
"backdropfilter": true,
|
"webworkers": true,
|
||||||
"backgroundcliptext": true,
|
"transferables": true,
|
||||||
"bgpositionxy": true,
|
"xdomainrequest": false,
|
||||||
"bgrepeatround": true,
|
"devicemotion2": true,
|
||||||
"bgrepeatspace": true,
|
"deviceorientation2": true,
|
||||||
"backgroundsize": true,
|
"deviceorientation3": true
|
||||||
"bgsizecover": true,
|
|
||||||
"borderimage": true,
|
|
||||||
"borderradius": true,
|
|
||||||
"boxshadow": true,
|
|
||||||
"boxsizing": true,
|
|
||||||
"csscolumns": true,
|
|
||||||
"cssgridlegacy": false,
|
|
||||||
"cssgrid": true,
|
|
||||||
"displayrunin": false,
|
|
||||||
"display-runin": false,
|
|
||||||
"ellipsis": true,
|
|
||||||
"cssfilters": true,
|
|
||||||
"flexbox": true,
|
|
||||||
"flexboxlegacy": true,
|
|
||||||
"flexboxtweener": false,
|
|
||||||
"flexwrap": true,
|
|
||||||
"cssmask": true,
|
|
||||||
"overflowscrolling": true,
|
|
||||||
"cssreflections": true,
|
|
||||||
"cssresize": true,
|
|
||||||
"scrollsnappoints": true,
|
|
||||||
"shapes": true,
|
|
||||||
"textalignlast": true,
|
|
||||||
"csstransforms": true,
|
|
||||||
"csstransforms3d": true,
|
|
||||||
"csstransformslevel2": true,
|
|
||||||
"csstransitions": true,
|
|
||||||
"csspseudotransitions": true,
|
|
||||||
"userselect": true,
|
|
||||||
"variablefonts": true
|
|
||||||
}
|
}
|
||||||
4147
tests/assets/modernizr/modernizr.js
Normal file
4147
tests/assets/modernizr/modernizr.js
Normal file
File diff suppressed because one or more lines are too long
18
tests/assets/modernizr/roll.sh
Normal file
18
tests/assets/modernizr/roll.sh
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
MODERNIZR_VERSION="44fa7b07c367a1814e8699e3a2f15c53fbe32df7"
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
rm -rf Modernizr
|
||||||
|
git clone https://github.com/Modernizr/Modernizr
|
||||||
|
cd Modernizr
|
||||||
|
git checkout $MODERNIZR_VERSION
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
# Modernizr minifier is not working, hence we minify with ESBuild.
|
||||||
|
./bin/modernizr --config lib/config-all.json
|
||||||
|
npx esbuild --bundle modernizr.js --minify --outfile=../modernizr.js
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm -rf Modernizr
|
||||||
|
|
@ -11,6 +11,249 @@
|
||||||
"required": true,
|
"required": true,
|
||||||
"step": true
|
"step": true
|
||||||
},
|
},
|
||||||
|
"adownload": true,
|
||||||
|
"aping": true,
|
||||||
|
"areaping": true,
|
||||||
|
"ambientlight": false,
|
||||||
|
"applicationcache": false,
|
||||||
|
"audio": {
|
||||||
|
"ogg": "",
|
||||||
|
"mp3": "probably",
|
||||||
|
"opus": "probably",
|
||||||
|
"wav": "probably",
|
||||||
|
"m4a": "maybe"
|
||||||
|
},
|
||||||
|
"audioloop": true,
|
||||||
|
"webaudio": true,
|
||||||
|
"batteryapi": false,
|
||||||
|
"battery-api": false,
|
||||||
|
"lowbattery": false,
|
||||||
|
"blobconstructor": true,
|
||||||
|
"blob-constructor": true,
|
||||||
|
"broadcastchannel": true,
|
||||||
|
"canvas": true,
|
||||||
|
"canvasblending": true,
|
||||||
|
"todataurljpeg": true,
|
||||||
|
"todataurlpng": true,
|
||||||
|
"todataurlwebp": false,
|
||||||
|
"canvaswinding": true,
|
||||||
|
"canvastext": true,
|
||||||
|
"clipboard": {
|
||||||
|
"read": true,
|
||||||
|
"readtext": true,
|
||||||
|
"write": true,
|
||||||
|
"writetext": true
|
||||||
|
},
|
||||||
|
"contenteditable": true,
|
||||||
|
"contextmenu": false,
|
||||||
|
"cors": true,
|
||||||
|
"crypto": true,
|
||||||
|
"getrandomvalues": true,
|
||||||
|
"cssall": true,
|
||||||
|
"cssanimations": true,
|
||||||
|
"appearance": true,
|
||||||
|
"aspectratio": true,
|
||||||
|
"backdropfilter": true,
|
||||||
|
"backgroundblendmode": true,
|
||||||
|
"backgroundcliptext": true,
|
||||||
|
"bgpositionshorthand": true,
|
||||||
|
"bgpositionxy": true,
|
||||||
|
"bgrepeatround": true,
|
||||||
|
"bgrepeatspace": true,
|
||||||
|
"backgroundsize": true,
|
||||||
|
"bgsizecover": true,
|
||||||
|
"borderimage": true,
|
||||||
|
"borderradius": true,
|
||||||
|
"boxdecorationbreak": true,
|
||||||
|
"boxshadow": true,
|
||||||
|
"boxsizing": true,
|
||||||
|
"csscalc": true,
|
||||||
|
"checked": true,
|
||||||
|
"csschunit": true,
|
||||||
|
"csscolumns": {
|
||||||
|
"width": true,
|
||||||
|
"span": true,
|
||||||
|
"fill": true,
|
||||||
|
"gap": true,
|
||||||
|
"rule": true,
|
||||||
|
"rulecolor": true,
|
||||||
|
"rulestyle": true,
|
||||||
|
"rulewidth": true,
|
||||||
|
"breakbefore": true,
|
||||||
|
"breakafter": true,
|
||||||
|
"breakinside": true
|
||||||
|
},
|
||||||
|
"cssgridlegacy": false,
|
||||||
|
"cssgrid": true,
|
||||||
|
"cubicbezierrange": true,
|
||||||
|
"customproperties": true,
|
||||||
|
"displayrunin": false,
|
||||||
|
"display-runin": false,
|
||||||
|
"displaytable": true,
|
||||||
|
"display-table": true,
|
||||||
|
"ellipsis": true,
|
||||||
|
"cssescape": true,
|
||||||
|
"cssexunit": true,
|
||||||
|
"supports": true,
|
||||||
|
"cssfilters": true,
|
||||||
|
"flexbox": true,
|
||||||
|
"flexboxlegacy": true,
|
||||||
|
"flexboxtweener": false,
|
||||||
|
"flexgap": true,
|
||||||
|
"flexwrap": true,
|
||||||
|
"focusvisible": true,
|
||||||
|
"focuswithin": true,
|
||||||
|
"fontdisplay": true,
|
||||||
|
"fontface": true,
|
||||||
|
"generatedcontent": true,
|
||||||
|
"cssgradients": true,
|
||||||
|
"hairline": true,
|
||||||
|
"hsla": true,
|
||||||
|
"cssinvalid": true,
|
||||||
|
"lastchild": true,
|
||||||
|
"cssmask": true,
|
||||||
|
"mediaqueries": true,
|
||||||
|
"multiplebgs": true,
|
||||||
|
"nthchild": true,
|
||||||
|
"objectfit": true,
|
||||||
|
"object-fit": true,
|
||||||
|
"opacity": true,
|
||||||
|
"overflowscrolling": false,
|
||||||
|
"csspointerevents": true,
|
||||||
|
"csspositionsticky": true,
|
||||||
|
"csspseudoanimations": true,
|
||||||
|
"csstransitions": true,
|
||||||
|
"csspseudotransitions": true,
|
||||||
|
"cssreflections": true,
|
||||||
|
"regions": false,
|
||||||
|
"cssremunit": true,
|
||||||
|
"cssresize": true,
|
||||||
|
"rgba": true,
|
||||||
|
"cssscrollbar": true,
|
||||||
|
"scrollsnappoints": true,
|
||||||
|
"shapes": true,
|
||||||
|
"siblinggeneral": true,
|
||||||
|
"subpixelfont": true,
|
||||||
|
"target": true,
|
||||||
|
"textalignlast": true,
|
||||||
|
"textdecoration": {
|
||||||
|
"line": true,
|
||||||
|
"style": true,
|
||||||
|
"color": true,
|
||||||
|
"skip": true,
|
||||||
|
"skipink": true
|
||||||
|
},
|
||||||
|
"textshadow": true,
|
||||||
|
"csstransforms": true,
|
||||||
|
"csstransforms3d": true,
|
||||||
|
"csstransformslevel2": true,
|
||||||
|
"preserve3d": true,
|
||||||
|
"userselect": true,
|
||||||
|
"cssvalid": true,
|
||||||
|
"variablefonts": true,
|
||||||
|
"cssvhunit": true,
|
||||||
|
"cssvmaxunit": true,
|
||||||
|
"cssvminunit": true,
|
||||||
|
"cssvwunit": true,
|
||||||
|
"willchange": true,
|
||||||
|
"wrapflow": false,
|
||||||
|
"customelements": true,
|
||||||
|
"customprotocolhandler": false,
|
||||||
|
"dart": false,
|
||||||
|
"dataview": true,
|
||||||
|
"classlist": true,
|
||||||
|
"createelementattrs": false,
|
||||||
|
"createelement-attrs": false,
|
||||||
|
"dataset": true,
|
||||||
|
"documentfragment": true,
|
||||||
|
"hidden": true,
|
||||||
|
"intersectionobserver": true,
|
||||||
|
"microdata": false,
|
||||||
|
"mutationobserver": true,
|
||||||
|
"passiveeventlisteners": true,
|
||||||
|
"shadowroot": true,
|
||||||
|
"shadowrootlegacy": false,
|
||||||
|
"bdi": true,
|
||||||
|
"details": true,
|
||||||
|
"outputelem": true,
|
||||||
|
"picture": true,
|
||||||
|
"progressbar": true,
|
||||||
|
"meter": true,
|
||||||
|
"ruby": true,
|
||||||
|
"template": true,
|
||||||
|
"time": false,
|
||||||
|
"texttrackapi": true,
|
||||||
|
"track": true,
|
||||||
|
"unknownelements": true,
|
||||||
|
"emoji": true,
|
||||||
|
"es5array": true,
|
||||||
|
"es5date": true,
|
||||||
|
"es5function": true,
|
||||||
|
"es5object": true,
|
||||||
|
"strictmode": true,
|
||||||
|
"es5string": true,
|
||||||
|
"json": true,
|
||||||
|
"es5syntax": true,
|
||||||
|
"es5undefined": true,
|
||||||
|
"es5": true,
|
||||||
|
"es6array": true,
|
||||||
|
"arrow": true,
|
||||||
|
"es6class": true,
|
||||||
|
"es6collections": true,
|
||||||
|
"generators": true,
|
||||||
|
"es6math": true,
|
||||||
|
"es6number": true,
|
||||||
|
"es6object": true,
|
||||||
|
"promises": true,
|
||||||
|
"restparameters": true,
|
||||||
|
"spreadarray": true,
|
||||||
|
"stringtemplate": true,
|
||||||
|
"es6string": true,
|
||||||
|
"es6symbol": true,
|
||||||
|
"es7array": true,
|
||||||
|
"restdestructuringarray": true,
|
||||||
|
"restdestructuringobject": true,
|
||||||
|
"spreadobject": true,
|
||||||
|
"es8object": true,
|
||||||
|
"customevent": true,
|
||||||
|
"devicemotion": true,
|
||||||
|
"deviceorientation": true,
|
||||||
|
"eventlistener": true,
|
||||||
|
"forcetouch": false,
|
||||||
|
"hashchange": true,
|
||||||
|
"oninput": true,
|
||||||
|
"pointerevents": true,
|
||||||
|
"proximity": false,
|
||||||
|
"filereader": true,
|
||||||
|
"filesystem": false,
|
||||||
|
"flash": false,
|
||||||
|
"fullscreen": true,
|
||||||
|
"gamepads": true,
|
||||||
|
"geolocation": true,
|
||||||
|
"hiddenscroll": false,
|
||||||
|
"history": true,
|
||||||
|
"htmlimports": false,
|
||||||
|
"ie8compat": false,
|
||||||
|
"sandbox": true,
|
||||||
|
"seamless": false,
|
||||||
|
"srcdoc": true,
|
||||||
|
"imgcrossorigin": true,
|
||||||
|
"lazyloading": true,
|
||||||
|
"sizes": true,
|
||||||
|
"srcset": true,
|
||||||
|
"capture": false,
|
||||||
|
"fileinput": true,
|
||||||
|
"fileinputdirectory": true,
|
||||||
|
"inputformaction": true,
|
||||||
|
"input-formaction": true,
|
||||||
|
"formattribute": true,
|
||||||
|
"inputformenctype": true,
|
||||||
|
"input-formenctype": true,
|
||||||
|
"inputformmethod": true,
|
||||||
|
"inputformnovalidate": true,
|
||||||
|
"input-formnovalidate": true,
|
||||||
|
"inputformtarget": true,
|
||||||
|
"input-formtarget": true,
|
||||||
"inputtypes": {
|
"inputtypes": {
|
||||||
"search": true,
|
"search": true,
|
||||||
"tel": true,
|
"tel": true,
|
||||||
|
|
@ -26,278 +269,148 @@
|
||||||
"range": true,
|
"range": true,
|
||||||
"color": true
|
"color": true
|
||||||
},
|
},
|
||||||
"htmlimports": false,
|
"formvalidation": true,
|
||||||
"history": true,
|
"localizednumber": false,
|
||||||
"ie8compat": false,
|
"inputsearchevent": false,
|
||||||
"applicationcache": false,
|
"placeholder": true,
|
||||||
"blobconstructor": true,
|
"requestautocomplete": false,
|
||||||
"blob-constructor": true,
|
"intl": true,
|
||||||
"cookies": true,
|
"ligatures": true,
|
||||||
"cors": true,
|
"olreversed": true,
|
||||||
"customelements": true,
|
"mathml": true,
|
||||||
"customprotocolhandler": false,
|
"mediasource": true,
|
||||||
"customevent": true,
|
"hovermq": true,
|
||||||
"dataview": true,
|
"pointermq": true,
|
||||||
"eventlistener": true,
|
|
||||||
"geolocation": true,
|
|
||||||
"json": true,
|
|
||||||
"messagechannel": true,
|
"messagechannel": true,
|
||||||
"notification": true,
|
|
||||||
"postmessage": true,
|
|
||||||
"queryselector": true,
|
|
||||||
"serviceworker": true,
|
|
||||||
"svg": true,
|
|
||||||
"templatestrings": true,
|
|
||||||
"typedarrays": true,
|
|
||||||
"websockets": true,
|
|
||||||
"xdomainrequest": false,
|
|
||||||
"webaudio": true,
|
|
||||||
"cssescape": true,
|
|
||||||
"focuswithin": true,
|
|
||||||
"supports": true,
|
|
||||||
"target": true,
|
|
||||||
"microdata": false,
|
|
||||||
"mutationobserver": true,
|
|
||||||
"passiveeventlisteners": true,
|
|
||||||
"picture": true,
|
|
||||||
"es5array": true,
|
|
||||||
"es5date": true,
|
|
||||||
"es5function": true,
|
|
||||||
"beacon": true,
|
"beacon": true,
|
||||||
|
"effectivetype": false,
|
||||||
"lowbandwidth": false,
|
"lowbandwidth": false,
|
||||||
"eventsource": true,
|
"eventsource": true,
|
||||||
"fetch": true,
|
"fetch": true,
|
||||||
"xhrresponsetype": true,
|
|
||||||
"xhr2": true,
|
|
||||||
"speechsynthesis": true,
|
|
||||||
"localstorage": true,
|
|
||||||
"sessionstorage": true,
|
|
||||||
"websqldatabase": true,
|
|
||||||
"es5object": true,
|
|
||||||
"svgfilters": true,
|
|
||||||
"strictmode": true,
|
|
||||||
"es5string": true,
|
|
||||||
"es5syntax": true,
|
|
||||||
"es5undefined": true,
|
|
||||||
"es5": true,
|
|
||||||
"es6array": true,
|
|
||||||
"arrow": true,
|
|
||||||
"es6collections": true,
|
|
||||||
"generators": true,
|
|
||||||
"es6math": true,
|
|
||||||
"es6number": true,
|
|
||||||
"es6object": true,
|
|
||||||
"promises": true,
|
|
||||||
"es6string": true,
|
|
||||||
"devicemotion": false,
|
|
||||||
"devicemotion2": false,
|
|
||||||
"deviceorientation": false,
|
|
||||||
"deviceorientation2": false,
|
|
||||||
"deviceorientation3": false,
|
|
||||||
"filereader": true,
|
|
||||||
"urlparser": true,
|
|
||||||
"urlsearchparams": true,
|
|
||||||
"framed": false,
|
|
||||||
"webworkers": true,
|
|
||||||
"contextmenu": false,
|
|
||||||
"cssall": true,
|
|
||||||
"willchange": true,
|
|
||||||
"classlist": true,
|
|
||||||
"documentfragment": true,
|
|
||||||
"contains": false,
|
|
||||||
"audio": true,
|
|
||||||
"canvas": true,
|
|
||||||
"canvastext": true,
|
|
||||||
"contenteditable": true,
|
|
||||||
"emoji": true,
|
|
||||||
"olreversed": true,
|
|
||||||
"userdata": false,
|
|
||||||
"video": true,
|
|
||||||
"vml": false,
|
|
||||||
"webanimations": true,
|
|
||||||
"webgl": true,
|
|
||||||
"adownload": true,
|
|
||||||
"audioloop": true,
|
|
||||||
"canvasblending": true,
|
|
||||||
"todataurljpeg": true,
|
|
||||||
"todataurlpng": true,
|
|
||||||
"todataurlwebp": false,
|
|
||||||
"canvaswinding": true,
|
|
||||||
"bgpositionshorthand": true,
|
|
||||||
"multiplebgs": true,
|
|
||||||
"csspointerevents": true,
|
|
||||||
"cssremunit": true,
|
|
||||||
"rgba": true,
|
|
||||||
"preserve3d": true,
|
|
||||||
"createelementattrs": false,
|
|
||||||
"createelement-attrs": false,
|
|
||||||
"dataset": true,
|
|
||||||
"hidden": true,
|
|
||||||
"outputelem": true,
|
|
||||||
"progressbar": true,
|
|
||||||
"meter": true,
|
|
||||||
"ruby": true,
|
|
||||||
"template": true,
|
|
||||||
"srcset": true,
|
|
||||||
"time": false,
|
|
||||||
"texttrackapi": true,
|
|
||||||
"track": true,
|
|
||||||
"unknownelements": true,
|
|
||||||
"inputformaction": true,
|
|
||||||
"input-formaction": true,
|
|
||||||
"inputformenctype": true,
|
|
||||||
"input-formenctype": true,
|
|
||||||
"inputformmethod": true,
|
|
||||||
"inputformtarget": false,
|
|
||||||
"input-formtarget": false,
|
|
||||||
"scriptasync": true,
|
|
||||||
"scriptdefer": true,
|
|
||||||
"stylescoped": false,
|
|
||||||
"capture": false,
|
|
||||||
"fileinput": true,
|
|
||||||
"formattribute": true,
|
|
||||||
"placeholder": true,
|
|
||||||
"sandbox": true,
|
|
||||||
"inlinesvg": true,
|
|
||||||
"textareamaxlength": true,
|
|
||||||
"videocrossorigin": true,
|
|
||||||
"webglextensions": true,
|
|
||||||
"seamless": false,
|
|
||||||
"srcdoc": true,
|
|
||||||
"imgcrossorigin": true,
|
|
||||||
"hashchange": true,
|
|
||||||
"inputsearchevent": false,
|
|
||||||
"ambientlight": false,
|
|
||||||
"datalistelem": true,
|
|
||||||
"videoloop": true,
|
|
||||||
"csscalc": true,
|
|
||||||
"cubicbezierrange": true,
|
|
||||||
"cssgradients": true,
|
|
||||||
"opacity": true,
|
|
||||||
"csspositionsticky": true,
|
|
||||||
"csschunit": true,
|
|
||||||
"cssexunit": true,
|
|
||||||
"hsla": true,
|
|
||||||
"videopreload": true,
|
|
||||||
"getusermedia": true,
|
|
||||||
"websocketsbinary": true,
|
|
||||||
"atobbtoa": true,
|
|
||||||
"atob-btoa": true,
|
|
||||||
"sharedworkers": true,
|
|
||||||
"bdi": true,
|
|
||||||
"xhrresponsetypearraybuffer": true,
|
"xhrresponsetypearraybuffer": true,
|
||||||
"xhrresponsetypeblob": true,
|
"xhrresponsetypeblob": true,
|
||||||
"xhrresponsetypedocument": true,
|
"xhrresponsetypedocument": true,
|
||||||
"xhrresponsetypejson": true,
|
"xhrresponsetypejson": true,
|
||||||
"xhrresponsetypetext": true,
|
"xhrresponsetypetext": true,
|
||||||
"svgclippaths": true,
|
"xhrresponsetype": true,
|
||||||
"svgforeignobject": true,
|
"xhr2": true,
|
||||||
"smil": true,
|
"notification": true,
|
||||||
"hiddenscroll": true,
|
|
||||||
"mathml": true,
|
|
||||||
"touchevents": false,
|
|
||||||
"unicoderange": true,
|
|
||||||
"unicode": true,
|
|
||||||
"checked": true,
|
|
||||||
"displaytable": true,
|
|
||||||
"display-table": true,
|
|
||||||
"fontface": true,
|
|
||||||
"generatedcontent": true,
|
|
||||||
"hairline": true,
|
|
||||||
"cssinvalid": true,
|
|
||||||
"lastchild": true,
|
|
||||||
"nthchild": true,
|
|
||||||
"cssscrollbar": true,
|
|
||||||
"siblinggeneral": true,
|
|
||||||
"subpixelfont": true,
|
|
||||||
"cssvalid": true,
|
|
||||||
"cssvhunit": true,
|
|
||||||
"cssvmaxunit": true,
|
|
||||||
"cssvminunit": true,
|
|
||||||
"cssvwunit": true,
|
|
||||||
"details": true,
|
|
||||||
"oninput": true,
|
|
||||||
"formvalidation": true,
|
|
||||||
"localizednumber": false,
|
|
||||||
"mediaqueries": true,
|
|
||||||
"flash": false,
|
|
||||||
"proximity": false,
|
|
||||||
"sizes": true,
|
|
||||||
"hovermq": true,
|
|
||||||
"pointermq": true,
|
|
||||||
"svgasimg": true,
|
|
||||||
"pointerevents": true,
|
|
||||||
"fileinputdirectory": true,
|
|
||||||
"textshadow": true,
|
|
||||||
"batteryapi": false,
|
|
||||||
"battery-api": false,
|
|
||||||
"crypto": true,
|
|
||||||
"dart": false,
|
|
||||||
"forcetouch": false,
|
|
||||||
"fullscreen": true,
|
|
||||||
"gamepads": true,
|
|
||||||
"intl": true,
|
|
||||||
"pagevisibility": true,
|
"pagevisibility": true,
|
||||||
"performance": true,
|
"performance": true,
|
||||||
"pointerlock": true,
|
"pointerlock": true,
|
||||||
"quotamanagement": false,
|
"postmessage": {
|
||||||
|
"structuredclones": true
|
||||||
|
},
|
||||||
|
"proxy": true,
|
||||||
|
"queryselector": true,
|
||||||
|
"prefetch": false,
|
||||||
"requestanimationframe": true,
|
"requestanimationframe": true,
|
||||||
"raf": true,
|
"raf": true,
|
||||||
"vibrate": false,
|
"scriptasync": true,
|
||||||
"webintents": false,
|
"scriptdefer": true,
|
||||||
"lowbattery": false,
|
"scrolltooptions": false,
|
||||||
"getrandomvalues": true,
|
"serviceworker": true,
|
||||||
"backgroundblendmode": true,
|
|
||||||
"objectfit": true,
|
|
||||||
"object-fit": true,
|
|
||||||
"regions": false,
|
|
||||||
"wrapflow": false,
|
|
||||||
"speechrecognition": true,
|
"speechrecognition": true,
|
||||||
"filesystem": false,
|
"speechsynthesis": true,
|
||||||
"requestautocomplete": false,
|
"cookies": true,
|
||||||
|
"localstorage": true,
|
||||||
|
"quotamanagement": false,
|
||||||
|
"sessionstorage": true,
|
||||||
|
"userdata": false,
|
||||||
|
"websqldatabase": true,
|
||||||
|
"stylescoped": false,
|
||||||
|
"svg": true,
|
||||||
|
"svgasimg": true,
|
||||||
|
"svgclippaths": true,
|
||||||
|
"svgfilters": true,
|
||||||
|
"svgforeignobject": true,
|
||||||
|
"inlinesvg": true,
|
||||||
|
"smil": true,
|
||||||
|
"textareamaxlength": true,
|
||||||
|
"textencoder": true,
|
||||||
|
"textdecoder": true,
|
||||||
|
"typedarrays": true,
|
||||||
|
"unicoderange": true,
|
||||||
"bloburls": true,
|
"bloburls": true,
|
||||||
"transferables": true,
|
"urlparser": true,
|
||||||
|
"urlsearchparams": true,
|
||||||
|
"vibrate": false,
|
||||||
|
"video": {
|
||||||
|
"ogg": "",
|
||||||
|
"h264": "probably",
|
||||||
|
"h265": "",
|
||||||
|
"webm": "probably",
|
||||||
|
"vp9": "probably",
|
||||||
|
"hls": "probably",
|
||||||
|
"av1": ""
|
||||||
|
},
|
||||||
|
"videocrossorigin": true,
|
||||||
|
"videoloop": true,
|
||||||
|
"videopreload": true,
|
||||||
|
"vml": false,
|
||||||
|
"webintents": false,
|
||||||
|
"webanimations": true,
|
||||||
|
"publickeycredential": true,
|
||||||
|
"webgl": true,
|
||||||
|
"webglextensions": {
|
||||||
|
"ANGLE_instanced_arrays": true,
|
||||||
|
"EXT_blend_minmax": true,
|
||||||
|
"EXT_clip_control": true,
|
||||||
|
"EXT_color_buffer_half_float": true,
|
||||||
|
"EXT_depth_clamp": true,
|
||||||
|
"EXT_float_blend": true,
|
||||||
|
"EXT_frag_depth": true,
|
||||||
|
"EXT_polygon_offset_clamp": true,
|
||||||
|
"EXT_shader_texture_lod": true,
|
||||||
|
"EXT_texture_compression_bptc": true,
|
||||||
|
"EXT_texture_compression_rgtc": true,
|
||||||
|
"EXT_texture_filter_anisotropic": true,
|
||||||
|
"EXT_texture_mirror_clamp_to_edge": true,
|
||||||
|
"EXT_sRGB": true,
|
||||||
|
"KHR_parallel_shader_compile": true,
|
||||||
|
"OES_element_index_uint": true,
|
||||||
|
"OES_fbo_render_mipmap": true,
|
||||||
|
"OES_standard_derivatives": true,
|
||||||
|
"OES_texture_float": true,
|
||||||
|
"OES_texture_float_linear": true,
|
||||||
|
"OES_texture_half_float": true,
|
||||||
|
"OES_texture_half_float_linear": true,
|
||||||
|
"OES_vertex_array_object": true,
|
||||||
|
"WEBGL_blend_func_extended": true,
|
||||||
|
"WEBGL_color_buffer_float": true,
|
||||||
|
"WEBGL_compressed_texture_astc": true,
|
||||||
|
"WEBGL_compressed_texture_etc": true,
|
||||||
|
"WEBGL_compressed_texture_etc1": true,
|
||||||
|
"WEBGL_compressed_texture_pvrtc": true,
|
||||||
|
"WEBKIT_WEBGL_compressed_texture_pvrtc": true,
|
||||||
|
"WEBGL_compressed_texture_s3tc": true,
|
||||||
|
"WEBGL_compressed_texture_s3tc_srgb": true,
|
||||||
|
"WEBGL_debug_renderer_info": true,
|
||||||
|
"WEBGL_debug_shaders": true,
|
||||||
|
"WEBGL_depth_texture": true,
|
||||||
|
"WEBGL_draw_buffers": true,
|
||||||
|
"WEBGL_lose_context": true,
|
||||||
|
"WEBGL_multi_draw": true,
|
||||||
|
"WEBGL_polygon_mode": true
|
||||||
|
},
|
||||||
"peerconnection": true,
|
"peerconnection": true,
|
||||||
"datachannel": false,
|
"datachannel": true,
|
||||||
|
"getusermedia": true,
|
||||||
|
"mediastream": true,
|
||||||
|
"websockets": true,
|
||||||
|
"websocketsbinary": true,
|
||||||
|
"atobbtoa": true,
|
||||||
|
"atob-btoa": true,
|
||||||
|
"framed": false,
|
||||||
"matchmedia": true,
|
"matchmedia": true,
|
||||||
"ligatures": true,
|
"pushmanager": true,
|
||||||
"cssanimations": true,
|
"resizeobserver": true,
|
||||||
"csspseudoanimations": true,
|
"workertypeoption": true,
|
||||||
"appearance": true,
|
"sharedworkers": true,
|
||||||
"backdropfilter": true,
|
"webworkers": true,
|
||||||
"backgroundcliptext": true,
|
"transferables": true,
|
||||||
"bgpositionxy": true,
|
"xdomainrequest": false,
|
||||||
"bgrepeatround": true,
|
"devicemotion2": true,
|
||||||
"bgrepeatspace": true,
|
"deviceorientation2": false,
|
||||||
"backgroundsize": true,
|
"deviceorientation3": true
|
||||||
"bgsizecover": true,
|
}
|
||||||
"borderimage": true,
|
|
||||||
"borderradius": true,
|
|
||||||
"boxshadow": true,
|
|
||||||
"boxsizing": true,
|
|
||||||
"csscolumns": true,
|
|
||||||
"cssgridlegacy": false,
|
|
||||||
"cssgrid": true,
|
|
||||||
"displayrunin": false,
|
|
||||||
"display-runin": false,
|
|
||||||
"ellipsis": true,
|
|
||||||
"cssfilters": true,
|
|
||||||
"flexbox": true,
|
|
||||||
"flexboxlegacy": true,
|
|
||||||
"flexboxtweener": false,
|
|
||||||
"flexwrap": true,
|
|
||||||
"cssmask": true,
|
|
||||||
"overflowscrolling": false,
|
|
||||||
"cssreflections": true,
|
|
||||||
"cssresize": true,
|
|
||||||
"scrollsnappoints": true,
|
|
||||||
"shapes": true,
|
|
||||||
"textalignlast": true,
|
|
||||||
"csstransforms": true,
|
|
||||||
"csstransforms3d": true,
|
|
||||||
"csstransformslevel2": true,
|
|
||||||
"csstransitions": true,
|
|
||||||
"csspseudotransitions": true,
|
|
||||||
"userselect": true,
|
|
||||||
"variablefonts": true
|
|
||||||
}
|
|
||||||
|
|
@ -15,7 +15,6 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import os from 'os';
|
|
||||||
import { browserTest as it, expect } from '../config/browserTest';
|
import { browserTest as it, expect } from '../config/browserTest';
|
||||||
|
|
||||||
it.describe('mobile viewport', () => {
|
it.describe('mobile viewport', () => {
|
||||||
|
|
@ -55,23 +54,19 @@ it.describe('mobile viewport', () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should be detectable by Modernizr', async ({ playwright, browser, server, browserName, platform }) => {
|
it('should be detectable', async ({ playwright, browser, server, browserName, platform }) => {
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'detect-touch.html uses Modernizr which uses WebGL. WebGL is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
|
||||||
const iPhone = playwright.devices['iPhone 6'];
|
const iPhone = playwright.devices['iPhone 6'];
|
||||||
const context = await browser.newContext({ ...iPhone });
|
const context = await browser.newContext({ ...iPhone });
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto(server.PREFIX + '/detect-touch.html');
|
expect(await page.evaluate(() => 'ontouchstart' in window || !!window.TouchEvent)).toBe(true);
|
||||||
expect(await page.evaluate(() => document.body.textContent!.trim())).toBe('YES');
|
|
||||||
await context.close();
|
await context.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should detect touch when applying viewport with touches', async ({ browser, server, browserName, platform }) => {
|
it('should detect touch when applying viewport with touches', async ({ browser, server, browserName, platform }) => {
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'Modernizr uses WebGL. WebGL is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
|
||||||
const context = await browser.newContext({ viewport: { width: 800, height: 600 }, hasTouch: true });
|
const context = await browser.newContext({ viewport: { width: 800, height: 600 }, hasTouch: true });
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto(server.EMPTY_PAGE);
|
await page.goto(server.EMPTY_PAGE);
|
||||||
await page.addScriptTag({ url: server.PREFIX + '/modernizr.js' });
|
expect(await page.evaluate(() => 'ontouchstart' in window || !!window.TouchEvent)).toBe(true);
|
||||||
expect(await page.evaluate(() => (window as any)['Modernizr'].touchevents)).toBe(true);
|
|
||||||
await context.close();
|
await context.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,11 +94,8 @@ it('should emulate availWidth and availHeight', async ({ page }) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not have touch by default', async ({ page, server, browserName, platform }) => {
|
it('should not have touch by default', async ({ page, server, browserName, platform }) => {
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'detect-touch.html uses Modernizr which uses WebGL. WebGL is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
|
||||||
await page.goto(server.PREFIX + '/mobile.html');
|
await page.goto(server.PREFIX + '/mobile.html');
|
||||||
expect(await page.evaluate(() => 'ontouchstart' in window)).toBe(false);
|
expect(await page.evaluate(() => 'ontouchstart' in window)).toBe(false);
|
||||||
await page.goto(server.PREFIX + '/detect-touch.html');
|
|
||||||
expect(await page.evaluate(() => document.body.textContent.trim())).toBe('NO');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should throw on tap if hasTouch is not enabled', async ({ page }) => {
|
it('should throw on tap if hasTouch is not enabled', async ({ page }) => {
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import os from 'os';
|
||||||
async function checkFeatures(name: string, context: any, server: any) {
|
async function checkFeatures(name: string, context: any, server: any) {
|
||||||
try {
|
try {
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto(server.PREFIX + '/modernizr.html');
|
await page.goto(server.PREFIX + '/modernizr/index.html');
|
||||||
const actual = await page.evaluate('window.report');
|
const actual = await page.evaluate('window.report');
|
||||||
const expected = JSON.parse(fs.readFileSync(require.resolve(`../assets/modernizr/${name}.json`), 'utf-8'));
|
const expected = JSON.parse(fs.readFileSync(require.resolve(`../assets/modernizr/${name}.json`), 'utf-8'));
|
||||||
return { actual, expected };
|
return { actual, expected };
|
||||||
|
|
@ -30,28 +30,39 @@ async function checkFeatures(name: string, context: any, server: any) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it('safari-14-1', async ({ browser, browserName, platform, server, headless, isMac }) => {
|
it('Safari Desktop', async ({ browser, browserName, platform, server, headless, isMac }) => {
|
||||||
it.skip(browserName !== 'webkit');
|
it.skip(browserName !== 'webkit');
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'Modernizr uses WebGL which is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'Modernizr uses WebGL which is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
||||||
const context = await browser.newContext({
|
const context = await browser.newContext({
|
||||||
deviceScaleFactor: 2
|
deviceScaleFactor: 2
|
||||||
});
|
});
|
||||||
const { actual, expected } = await checkFeatures('safari-14-1', context, server);
|
const { actual, expected } = await checkFeatures('safari-18', context, server);
|
||||||
|
|
||||||
|
expected.pushmanager = false;
|
||||||
|
expected.hiddenscroll = true;
|
||||||
|
expected.devicemotion2 = false;
|
||||||
|
expected.devicemotion = false;
|
||||||
|
expected.deviceorientation = false;
|
||||||
|
expected.deviceorientation3 = false;
|
||||||
|
|
||||||
|
delete expected.webglextensions;
|
||||||
|
delete actual.webglextensions;
|
||||||
|
expected.audio = !!expected.audio;
|
||||||
|
actual.audio = !!actual.audio;
|
||||||
|
expected.video = !!expected.video;
|
||||||
|
actual.video = !!actual.video;
|
||||||
|
|
||||||
if (platform === 'linux') {
|
if (platform === 'linux') {
|
||||||
expected.subpixelfont = false;
|
expected.subpixelfont = false;
|
||||||
expected.speechrecognition = false;
|
expected.speechrecognition = false;
|
||||||
|
expected.publickeycredential = false;
|
||||||
|
expected.mediastream = false;
|
||||||
if (headless)
|
if (headless)
|
||||||
expected.todataurljpeg = false;
|
expected.todataurljpeg = false;
|
||||||
|
|
||||||
// GHA
|
// GHA
|
||||||
delete actual.variablefonts;
|
delete actual.variablefonts;
|
||||||
delete expected.variablefonts;
|
delete expected.variablefonts;
|
||||||
|
|
||||||
if (isDocker()) {
|
|
||||||
delete actual.unicode;
|
|
||||||
delete expected.unicode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (platform === 'win32') {
|
if (platform === 'win32') {
|
||||||
|
|
@ -61,30 +72,34 @@ it('safari-14-1', async ({ browser, browserName, platform, server, headless, isM
|
||||||
expected.speechrecognition = false;
|
expected.speechrecognition = false;
|
||||||
expected.speechsynthesis = false;
|
expected.speechsynthesis = false;
|
||||||
expected.todataurljpeg = false;
|
expected.todataurljpeg = false;
|
||||||
expected.unicode = false;
|
|
||||||
expected.webaudio = false;
|
expected.webaudio = false;
|
||||||
expected.gamepads = false;
|
expected.gamepads = false;
|
||||||
|
|
||||||
expected.input.list = false;
|
expected.input.list = false;
|
||||||
|
delete expected.datalistelem;
|
||||||
|
|
||||||
|
expected.publickeycredential = false;
|
||||||
|
expected.mediastream = false;
|
||||||
|
expected.mediasource = false;
|
||||||
|
expected.datachannel = false;
|
||||||
|
|
||||||
expected.inputtypes.color = false;
|
expected.inputtypes.color = false;
|
||||||
|
expected.inputtypes.month = false;
|
||||||
|
expected.inputtypes.week = false;
|
||||||
expected.inputtypes.date = false;
|
expected.inputtypes.date = false;
|
||||||
expected.inputtypes['datetime-local'] = false;
|
expected.inputtypes['datetime-local'] = false;
|
||||||
expected.inputtypes.time = false;
|
expected.inputtypes.time = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isMac && parseInt(os.release(), 10) > 20)
|
|
||||||
expected.applicationcache = false;
|
|
||||||
|
|
||||||
expect(actual).toEqual(expected);
|
expect(actual).toEqual(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('mobile-safari-14-1', async ({ playwright, browser, browserName, platform, isMac, server, headless }) => {
|
it('Mobile Safari', async ({ playwright, browser, browserName, platform, isMac, server, headless }) => {
|
||||||
it.skip(browserName !== 'webkit');
|
it.skip(browserName !== 'webkit');
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) < 20, 'WebKit for macOS 10.15 is frozen.');
|
|
||||||
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'Modernizr uses WebGL which is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
it.skip(browserName === 'webkit' && platform === 'darwin' && parseInt(os.release(), 10) === 22, 'Modernizr uses WebGL which is not available in macOS-13 - https://bugs.webkit.org/show_bug.cgi?id=278277');
|
||||||
const iPhone = playwright.devices['iPhone 12'];
|
const iPhone = playwright.devices['iPhone 12'];
|
||||||
const context = await browser.newContext(iPhone);
|
const context = await browser.newContext(iPhone);
|
||||||
const { actual, expected } = await checkFeatures('mobile-safari-14-1', context, server);
|
const { actual, expected } = await checkFeatures('mobile-safari-18', context, server);
|
||||||
|
|
||||||
{
|
{
|
||||||
// All platforms.
|
// All platforms.
|
||||||
|
|
@ -93,22 +108,28 @@ it('mobile-safari-14-1', async ({ playwright, browser, browserName, platform, is
|
||||||
expected.cssvhunit = true;
|
expected.cssvhunit = true;
|
||||||
expected.cssvmaxunit = true;
|
expected.cssvmaxunit = true;
|
||||||
expected.overflowscrolling = false;
|
expected.overflowscrolling = false;
|
||||||
|
expected.mediasource = true;
|
||||||
|
expected.scrolltooptions = false;
|
||||||
|
|
||||||
|
delete expected.webglextensions;
|
||||||
|
delete actual.webglextensions;
|
||||||
|
expected.audio = !!expected.audio;
|
||||||
|
actual.audio = !!actual.audio;
|
||||||
|
expected.video = !!expected.video;
|
||||||
|
actual.video = !!actual.video;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (platform === 'linux') {
|
if (platform === 'linux') {
|
||||||
expected.subpixelfont = false;
|
expected.subpixelfont = false;
|
||||||
expected.speechrecognition = false;
|
expected.speechrecognition = false;
|
||||||
|
expected.publickeycredential = false;
|
||||||
|
expected.mediastream = false;
|
||||||
if (headless)
|
if (headless)
|
||||||
expected.todataurljpeg = false;
|
expected.todataurljpeg = false;
|
||||||
|
|
||||||
// GHA
|
// GHA
|
||||||
delete actual.variablefonts;
|
delete actual.variablefonts;
|
||||||
delete expected.variablefonts;
|
delete expected.variablefonts;
|
||||||
|
|
||||||
if (isDocker()) {
|
|
||||||
delete actual.unicode;
|
|
||||||
delete expected.unicode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (platform === 'win32') {
|
if (platform === 'win32') {
|
||||||
|
|
@ -118,32 +139,25 @@ it('mobile-safari-14-1', async ({ playwright, browser, browserName, platform, is
|
||||||
expected.speechrecognition = false;
|
expected.speechrecognition = false;
|
||||||
expected.speechsynthesis = false;
|
expected.speechsynthesis = false;
|
||||||
expected.todataurljpeg = false;
|
expected.todataurljpeg = false;
|
||||||
expected.unicode = false;
|
|
||||||
expected.webaudio = false;
|
expected.webaudio = false;
|
||||||
expected.gamepads = false;
|
expected.gamepads = false;
|
||||||
|
|
||||||
expected.input.list = false;
|
expected.input.list = false;
|
||||||
|
|
||||||
|
delete expected.datalistelem;
|
||||||
|
|
||||||
|
expected.publickeycredential = false;
|
||||||
|
expected.mediastream = false;
|
||||||
|
expected.mediasource = false;
|
||||||
|
expected.datachannel = false;
|
||||||
|
|
||||||
expected.inputtypes.color = false;
|
expected.inputtypes.color = false;
|
||||||
expected.inputtypes.month = false;
|
expected.inputtypes.month = false;
|
||||||
expected.inputtypes.week = false;
|
expected.inputtypes.week = false;
|
||||||
expected.inputtypes.date = false;
|
expected.inputtypes.date = false;
|
||||||
expected.inputtypes.time = false;
|
|
||||||
expected.inputtypes['datetime-local'] = false;
|
expected.inputtypes['datetime-local'] = false;
|
||||||
expected.inputtypes.time = false;
|
expected.inputtypes.time = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(actual).toEqual(expected);
|
expect(actual).toEqual(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
function isDocker() {
|
|
||||||
try {
|
|
||||||
fs.statSync('/.dockerenv');
|
|
||||||
return true;
|
|
||||||
} catch {
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
|
|
||||||
} catch {
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue