diff --git a/bikeshed/wpt/wptElement.py b/bikeshed/wpt/wptElement.py index f138f56833..22c259a862 100644 --- a/bikeshed/wpt/wptElement.py +++ b/bikeshed/wpt/wptElement.py @@ -17,12 +17,15 @@ def processWptElements(doc): pathPrefix = doc.md.wptPathPrefix atLeastOneElement = False + atLeastOneVisibleTest = False testData = None # elements wptElements = findAll("wpt", doc) seenTestNames = set() prevEl = None for el in wptElements: + if atLeastOneElement is False and el.get("hidden") is None: + atLeastOneElement = True if testData is None: testData = loadTestData(doc) testNames = testNamesFromEl(el, pathPrefix=pathPrefix) @@ -31,8 +34,8 @@ def processWptElements(doc): die(f"Couldn't find WPT test '{testName}' - did you misspell something?", el=el) continue seenTestNames.add(testName) - if atLeastOneElement is False and el.get("hidden") is None: - atLeastOneElement = True + if atLeastOneVisibleTest is False and el.get("hidden") is None: + atLeastOneVisibleTest = True if el.get("hidden") is not None: removeNode(el) else: @@ -65,6 +68,7 @@ def processWptElements(doc): die(f"Couldn't find any tests with the path prefix '{pathPrefix}'.") return atLeastOneElement = True + atLeastOneVisibleTest = True createHTML(doc, wptRestElements[0], prefixedNames, testData) warn( " is intended for debugging only. Move the tests to elements next to what they're testing." @@ -75,7 +79,7 @@ def processWptElements(doc): testData = loadTestData(doc) checkForOmittedTests(pathPrefix, testData, seenTestNames) - if atLeastOneElement: + if atLeastOneVisibleTest: if pathPrefix is None: pathPrefix = commonPathPrefix(seenTestNames) if not pathPrefix.startswith("/"): @@ -91,9 +95,12 @@ def processWptElements(doc): ) ) - if atLeastOneElement and doc.md.wptDisplay != "none": + if doc.md.wptDisplay != "none" and atLeastOneElement: + # Empty blocks still need styles doc.extraStyles["style-wpt"] = wptStyle - doc.extraScripts["script-wpt"] = getWptScript(pathPrefix) + if atLeastOneVisibleTest: + # But I only need script if there's actually some tests. + doc.extraScripts["script-wpt"] = getWptScript(pathPrefix) def createHTML(doc, blockEl, testNames, testData, title=None, titleLang=None, titleDir=None): diff --git a/tests/github/w3c/csswg-drafts/css-2015/Overview.html b/tests/github/w3c/csswg-drafts/css-2015/Overview.html index 9e747199a2..700e1b304b 100644 --- a/tests/github/w3c/csswg-drafts/css-2015/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-2015/Overview.html @@ -1790,109 +1790,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-2017/Overview.html b/tests/github/w3c/csswg-drafts/css-2017/Overview.html index 9dd848220b..081c96e146 100644 --- a/tests/github/w3c/csswg-drafts/css-2017/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-2017/Overview.html @@ -5083,109 +5083,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-2018/Overview.html b/tests/github/w3c/csswg-drafts/css-2018/Overview.html index cde1e2a93b..5e54172fec 100644 --- a/tests/github/w3c/csswg-drafts/css-2018/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-2018/Overview.html @@ -5473,109 +5473,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-align-3/Overview.html b/tests/github/w3c/csswg-drafts/css-align-3/Overview.html index bb7e3dc25c..8fc2199fd3 100644 --- a/tests/github/w3c/csswg-drafts/css-align-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-align-3/Overview.html @@ -5344,109 +5344,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-animations-1/Overview.html b/tests/github/w3c/csswg-drafts/css-animations-1/Overview.html index fbff738452..afcc51abb1 100644 --- a/tests/github/w3c/csswg-drafts/css-animations-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-animations-1/Overview.html @@ -3550,109 +3550,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-animations-2/Overview.html b/tests/github/w3c/csswg-drafts/css-animations-2/Overview.html index 5fb9e1140b..287f99819c 100644 --- a/tests/github/w3c/csswg-drafts/css-animations-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-animations-2/Overview.html @@ -2433,109 +2433,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-backgrounds-4/Overview.html b/tests/github/w3c/csswg-drafts/css-backgrounds-4/Overview.html index b6ab2b964a..a77985ec8b 100644 --- a/tests/github/w3c/csswg-drafts/css-backgrounds-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-backgrounds-4/Overview.html @@ -2621,109 +2621,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-box-3/Overview.html b/tests/github/w3c/csswg-drafts/css-box-3/Overview.html index 60fb94001d..f1230fe4d6 100644 --- a/tests/github/w3c/csswg-drafts/css-box-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-box-3/Overview.html @@ -2037,109 +2037,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-box-3/block-layout.html b/tests/github/w3c/csswg-drafts/css-box-3/block-layout.html index a478f159d8..6f61390c56 100644 --- a/tests/github/w3c/csswg-drafts/css-box-3/block-layout.html +++ b/tests/github/w3c/csswg-drafts/css-box-3/block-layout.html @@ -6388,109 +6388,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-box-4/Overview.html b/tests/github/w3c/csswg-drafts/css-box-4/Overview.html index 06e851d248..09a5ac4bfe 100644 --- a/tests/github/w3c/csswg-drafts/css-box-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-box-4/Overview.html @@ -2349,109 +2349,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-break-4/Overview.html b/tests/github/w3c/csswg-drafts/css-break-4/Overview.html index e6d3fe5294..b0bfa7d664 100644 --- a/tests/github/w3c/csswg-drafts/css-break-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-break-4/Overview.html @@ -3047,109 +3047,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-cascade-3/Overview.html b/tests/github/w3c/csswg-drafts/css-cascade-3/Overview.html index 32c3ca806d..7923dba637 100644 --- a/tests/github/w3c/csswg-drafts/css-cascade-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-cascade-3/Overview.html @@ -2912,109 +2912,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-cascade-4/Overview.html b/tests/github/w3c/csswg-drafts/css-cascade-4/Overview.html index 5f67794635..2b44b143ed 100644 --- a/tests/github/w3c/csswg-drafts/css-cascade-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-cascade-4/Overview.html @@ -3583,109 +3583,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-cascade-5/Overview.html b/tests/github/w3c/csswg-drafts/css-cascade-5/Overview.html index d6ed9a723e..6c5ace09a4 100644 --- a/tests/github/w3c/csswg-drafts/css-cascade-5/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-cascade-5/Overview.html @@ -3978,109 +3978,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-color-5/Overview.html b/tests/github/w3c/csswg-drafts/css-color-5/Overview.html index 7ced15b8e6..0948262d97 100644 --- a/tests/github/w3c/csswg-drafts/css-color-5/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-color-5/Overview.html @@ -1917,109 +1917,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-color-adjust-1/Overview.html b/tests/github/w3c/csswg-drafts/css-color-adjust-1/Overview.html index dbfcc9cd0f..809f5648fd 100644 --- a/tests/github/w3c/csswg-drafts/css-color-adjust-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-color-adjust-1/Overview.html @@ -2050,109 +2050,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-conditional-3/Overview.html b/tests/github/w3c/csswg-drafts/css-conditional-3/Overview.html index 69c7cadb6e..19b013672f 100644 --- a/tests/github/w3c/csswg-drafts/css-conditional-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-conditional-3/Overview.html @@ -2213,109 +2213,4 @@

I return "selected" + index; } } - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-conditional-4/Overview.html b/tests/github/w3c/csswg-drafts/css-conditional-4/Overview.html index 2d6067a3bf..0e6f8a9401 100644 --- a/tests/github/w3c/csswg-drafts/css-conditional-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-conditional-4/Overview.html @@ -1166,109 +1166,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-contain-3/Overview.html b/tests/github/w3c/csswg-drafts/css-contain-3/Overview.html index 8d46f8f2d8..291b642f72 100644 --- a/tests/github/w3c/csswg-drafts/css-contain-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-contain-3/Overview.html @@ -946,109 +946,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-content-3/Overview.html b/tests/github/w3c/csswg-drafts/css-content-3/Overview.html index 3597a29b35..75166a9580 100644 --- a/tests/github/w3c/csswg-drafts/css-content-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-content-3/Overview.html @@ -2921,109 +2921,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-counter-styles-3/Overview.html b/tests/github/w3c/csswg-drafts/css-counter-styles-3/Overview.html index a436250e20..aed485fc25 100644 --- a/tests/github/w3c/csswg-drafts/css-counter-styles-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-counter-styles-3/Overview.html @@ -4648,109 +4648,4 @@

I } }); - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-device-adapt-1/Overview.html b/tests/github/w3c/csswg-drafts/css-device-adapt-1/Overview.html index 06230835d3..a2ea541cc6 100644 --- a/tests/github/w3c/csswg-drafts/css-device-adapt-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-device-adapt-1/Overview.html @@ -2740,109 +2740,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-display-3/Overview.html b/tests/github/w3c/csswg-drafts/css-display-3/Overview.html index d9dee59b7b..821a76d56c 100644 --- a/tests/github/w3c/csswg-drafts/css-display-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-display-3/Overview.html @@ -3755,109 +3755,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-easing-1/Overview.html b/tests/github/w3c/csswg-drafts/css-easing-1/Overview.html index a9cfdb5ad3..634f94fdfd 100644 --- a/tests/github/w3c/csswg-drafts/css-easing-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-easing-1/Overview.html @@ -1646,109 +1646,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-egg-1/Overview.html b/tests/github/w3c/csswg-drafts/css-egg-1/Overview.html index 4309def4d5..11cde9e5dc 100644 --- a/tests/github/w3c/csswg-drafts/css-egg-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-egg-1/Overview.html @@ -1740,109 +1740,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-env-1/Overview.html b/tests/github/w3c/csswg-drafts/css-env-1/Overview.html index baaa3ce8a8..fc331a865f 100644 --- a/tests/github/w3c/csswg-drafts/css-env-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-env-1/Overview.html @@ -1186,109 +1186,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-exclusions-1/Overview.html b/tests/github/w3c/csswg-drafts/css-exclusions-1/Overview.html index 6f9e4ef744..2f506c5c5e 100644 --- a/tests/github/w3c/csswg-drafts/css-exclusions-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-exclusions-1/Overview.html @@ -1929,109 +1929,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-extensions-1/Overview.html b/tests/github/w3c/csswg-drafts/css-extensions-1/Overview.html index 736e9d0382..afe699570b 100644 --- a/tests/github/w3c/csswg-drafts/css-extensions-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-extensions-1/Overview.html @@ -1443,109 +1443,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-font-loading-3/Overview.html b/tests/github/w3c/csswg-drafts/css-font-loading-3/Overview.html index f728aefe9f..9fda8dc960 100644 --- a/tests/github/w3c/csswg-drafts/css-font-loading-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-font-loading-3/Overview.html @@ -3063,109 +3063,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-fonts-3/Overview-wip.html b/tests/github/w3c/csswg-drafts/css-fonts-3/Overview-wip.html index f603a0e549..7be9573247 100644 --- a/tests/github/w3c/csswg-drafts/css-fonts-3/Overview-wip.html +++ b/tests/github/w3c/csswg-drafts/css-fonts-3/Overview-wip.html @@ -6338,109 +6338,4 @@

I } }); - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-fonts-4/Overview.html b/tests/github/w3c/csswg-drafts/css-fonts-4/Overview.html index 63a6819464..082bd10d2c 100644 --- a/tests/github/w3c/csswg-drafts/css-fonts-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-fonts-4/Overview.html @@ -9838,109 +9838,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-fonts-5/Overview.html b/tests/github/w3c/csswg-drafts/css-fonts-5/Overview.html index aafcca592a..71b4235a3e 100644 --- a/tests/github/w3c/csswg-drafts/css-fonts-5/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-fonts-5/Overview.html @@ -1771,109 +1771,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-gcpm-3/Overview.html b/tests/github/w3c/csswg-drafts/css-gcpm-3/Overview.html index 33f2ddff7e..baf905c122 100644 --- a/tests/github/w3c/csswg-drafts/css-gcpm-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-gcpm-3/Overview.html @@ -1976,109 +1976,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-gcpm-4/Overview.html b/tests/github/w3c/csswg-drafts/css-gcpm-4/Overview.html index 907d4f449b..976ea89858 100644 --- a/tests/github/w3c/csswg-drafts/css-gcpm-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-gcpm-4/Overview.html @@ -1228,109 +1228,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-grid-2/Overview.html b/tests/github/w3c/csswg-drafts/css-grid-2/Overview.html index 43deee6a47..7a3b528f86 100644 --- a/tests/github/w3c/csswg-drafts/css-grid-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-grid-2/Overview.html @@ -8987,109 +8987,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-grid-3/Overview.html b/tests/github/w3c/csswg-drafts/css-grid-3/Overview.html index d7c7a1d5b8..c5919845d2 100644 --- a/tests/github/w3c/csswg-drafts/css-grid-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-grid-3/Overview.html @@ -2351,109 +2351,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-highlight-api-1/Overview.html b/tests/github/w3c/csswg-drafts/css-highlight-api-1/Overview.html index 405b143805..0e2cc5b534 100644 --- a/tests/github/w3c/csswg-drafts/css-highlight-api-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-highlight-api-1/Overview.html @@ -2054,109 +2054,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-images-3/Overview.html b/tests/github/w3c/csswg-drafts/css-images-3/Overview.html index 772e8e207d..0dcc1aa6af 100644 --- a/tests/github/w3c/csswg-drafts/css-images-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-images-3/Overview.html @@ -3762,109 +3762,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-images-4/Overview.html b/tests/github/w3c/csswg-drafts/css-images-4/Overview.html index cb6a6cc870..8b0f4998fd 100644 --- a/tests/github/w3c/csswg-drafts/css-images-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-images-4/Overview.html @@ -4242,109 +4242,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-inline-3/Overview.html b/tests/github/w3c/csswg-drafts/css-inline-3/Overview.html index a6323fc8e8..bd3b4bbee0 100644 --- a/tests/github/w3c/csswg-drafts/css-inline-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-inline-3/Overview.html @@ -6624,109 +6624,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-line-grid-1/Overview.html b/tests/github/w3c/csswg-drafts/css-line-grid-1/Overview.html index d427a563d6..7d51413483 100644 --- a/tests/github/w3c/csswg-drafts/css-line-grid-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-line-grid-1/Overview.html @@ -1820,109 +1820,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-lists-3/Overview.html b/tests/github/w3c/csswg-drafts/css-lists-3/Overview.html index 1da93408f6..579ea5ffa7 100644 --- a/tests/github/w3c/csswg-drafts/css-lists-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-lists-3/Overview.html @@ -3944,109 +3944,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-logical-1/Overview.html b/tests/github/w3c/csswg-drafts/css-logical-1/Overview.html index 6727961f1b..063fa90b94 100644 --- a/tests/github/w3c/csswg-drafts/css-logical-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-logical-1/Overview.html @@ -4190,109 +4190,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-mobile/Overview.html b/tests/github/w3c/csswg-drafts/css-mobile/Overview.html index 7b4cea4ef3..07ae867693 100644 --- a/tests/github/w3c/csswg-drafts/css-mobile/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-mobile/Overview.html @@ -1177,109 +1177,4 @@

Open Mobile Alliance. Wireless CSS Specification. October 2006. Approved Version 1.1. URL: http://www.openmobilealliance.org/technical/release_program/docs/Browsing/V2_3-20080331-A/OMA-WAP-WCSS-V1_1-20061020-A.pdf
[WCSS12]
Open Mobile Alliance. Wireless CSS Specification Version 1.2. 21 September 2007. (Work in progress.) URL: http://www.openmobilealliance.org/ftp/Public_documents/MCE/MAE/Permanent_documents/OMA-TS-WCSS-V1_2-20070921-D.zip - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-module-bikeshed/Overview.html b/tests/github/w3c/csswg-drafts/css-module-bikeshed/Overview.html index edfc2ab8cb..4cd277ea6b 100644 --- a/tests/github/w3c/csswg-drafts/css-module-bikeshed/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-module-bikeshed/Overview.html @@ -1400,109 +1400,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-multicol-2/Overview.html b/tests/github/w3c/csswg-drafts/css-multicol-2/Overview.html index 3da887d05c..e3c85457cc 100644 --- a/tests/github/w3c/csswg-drafts/css-multicol-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-multicol-2/Overview.html @@ -1285,109 +1285,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-nav-1/Overview.html b/tests/github/w3c/csswg-drafts/css-nav-1/Overview.html index 0ad7e02b8a..3a9288827e 100644 --- a/tests/github/w3c/csswg-drafts/css-nav-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-nav-1/Overview.html @@ -3984,109 +3984,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-nesting-1/Overview.html b/tests/github/w3c/csswg-drafts/css-nesting-1/Overview.html index bcea1cf447..41381ff636 100644 --- a/tests/github/w3c/csswg-drafts/css-nesting-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-nesting-1/Overview.html @@ -2071,109 +2071,4 @@

I } }); - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-overflow-3/Overview.html b/tests/github/w3c/csswg-drafts/css-overflow-3/Overview.html index afc08ebebb..d92fb9ff4d 100644 --- a/tests/github/w3c/csswg-drafts/css-overflow-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-overflow-3/Overview.html @@ -3780,109 +3780,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-overflow-4/Overview.html b/tests/github/w3c/csswg-drafts/css-overflow-4/Overview.html index 27ace6dcba..713c98b2e6 100644 --- a/tests/github/w3c/csswg-drafts/css-overflow-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-overflow-4/Overview.html @@ -3247,109 +3247,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-overscroll-1/Overview.html b/tests/github/w3c/csswg-drafts/css-overscroll-1/Overview.html index 6e30a83be7..e210b81e61 100644 --- a/tests/github/w3c/csswg-drafts/css-overscroll-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-overscroll-1/Overview.html @@ -1445,109 +1445,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-page-3/Overview.html b/tests/github/w3c/csswg-drafts/css-page-3/Overview.html index 349c740818..d9c6b5ca42 100644 --- a/tests/github/w3c/csswg-drafts/css-page-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-page-3/Overview.html @@ -4529,109 +4529,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-page-floats-3/Overview.html b/tests/github/w3c/csswg-drafts/css-page-floats-3/Overview.html index b4a6ff6d4a..081a83ee56 100644 --- a/tests/github/w3c/csswg-drafts/css-page-floats-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-page-floats-3/Overview.html @@ -2264,109 +2264,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-position-3/Overview.html b/tests/github/w3c/csswg-drafts/css-position-3/Overview.html index 33147ebc17..d9674b850b 100644 --- a/tests/github/w3c/csswg-drafts/css-position-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-position-3/Overview.html @@ -4202,109 +4202,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-print/Overview.html b/tests/github/w3c/csswg-drafts/css-print/Overview.html index e4ff186781..6b9f6db9a4 100644 --- a/tests/github/w3c/csswg-drafts/css-print/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-print/Overview.html @@ -2704,109 +2704,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-regions-1/Overview.html b/tests/github/w3c/csswg-drafts/css-regions-1/Overview.html index becaf408e1..f949d72404 100644 --- a/tests/github/w3c/csswg-drafts/css-regions-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-regions-1/Overview.html @@ -3502,109 +3502,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-rhythm-1/Overview.html b/tests/github/w3c/csswg-drafts/css-rhythm-1/Overview.html index 4ec1daf797..c8566b297a 100644 --- a/tests/github/w3c/csswg-drafts/css-rhythm-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-rhythm-1/Overview.html @@ -1861,109 +1861,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-round-display-1/Overview.html b/tests/github/w3c/csswg-drafts/css-round-display-1/Overview.html index c005d52904..ff620a0dad 100644 --- a/tests/github/w3c/csswg-drafts/css-round-display-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-round-display-1/Overview.html @@ -1690,109 +1690,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-ruby-1/Overview.html b/tests/github/w3c/csswg-drafts/css-ruby-1/Overview.html index 2041bd3def..575023348c 100644 --- a/tests/github/w3c/csswg-drafts/css-ruby-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-ruby-1/Overview.html @@ -4206,109 +4206,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-scoping-1/Overview.html b/tests/github/w3c/csswg-drafts/css-scoping-1/Overview.html index 5e115e8ed0..1cbb257f89 100644 --- a/tests/github/w3c/csswg-drafts/css-scoping-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-scoping-1/Overview.html @@ -2289,109 +2289,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-scroll-anchoring-1/Overview.html b/tests/github/w3c/csswg-drafts/css-scroll-anchoring-1/Overview.html index 9044438d68..b8ef660ca1 100644 --- a/tests/github/w3c/csswg-drafts/css-scroll-anchoring-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-scroll-anchoring-1/Overview.html @@ -1875,109 +1875,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-scroll-snap-1/Overview.html b/tests/github/w3c/csswg-drafts/css-scroll-snap-1/Overview.html index 58ce3f223d..5a881a7d9f 100644 --- a/tests/github/w3c/csswg-drafts/css-scroll-snap-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-scroll-snap-1/Overview.html @@ -3408,109 +3408,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-scrollbars-1/Overview.html b/tests/github/w3c/csswg-drafts/css-scrollbars-1/Overview.html index 55a4c7c112..aaa3308448 100644 --- a/tests/github/w3c/csswg-drafts/css-scrollbars-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-scrollbars-1/Overview.html @@ -1259,109 +1259,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-shadow-parts-1/Overview.html b/tests/github/w3c/csswg-drafts/css-shadow-parts-1/Overview.html index f72ce395b8..8ee03772bd 100644 --- a/tests/github/w3c/csswg-drafts/css-shadow-parts-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-shadow-parts-1/Overview.html @@ -1648,109 +1648,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-shapes-1/Overview.html b/tests/github/w3c/csswg-drafts/css-shapes-1/Overview.html index c36f1da08f..ffdfae2953 100644 --- a/tests/github/w3c/csswg-drafts/css-shapes-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-shapes-1/Overview.html @@ -2314,109 +2314,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-shapes-2/Overview.html b/tests/github/w3c/csswg-drafts/css-shapes-2/Overview.html index 419574a59d..4aaf6d81ea 100644 --- a/tests/github/w3c/csswg-drafts/css-shapes-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-shapes-2/Overview.html @@ -2181,109 +2181,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-size-adjust-1/Overview.html b/tests/github/w3c/csswg-drafts/css-size-adjust-1/Overview.html index f7e45be396..a4dc1d8722 100644 --- a/tests/github/w3c/csswg-drafts/css-size-adjust-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-size-adjust-1/Overview.html @@ -1248,109 +1248,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-sizing-3/Overview.html b/tests/github/w3c/csswg-drafts/css-sizing-3/Overview.html index f312272de1..44f8115816 100644 --- a/tests/github/w3c/csswg-drafts/css-sizing-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-sizing-3/Overview.html @@ -3811,109 +3811,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-sizing-4/Overview.html b/tests/github/w3c/csswg-drafts/css-sizing-4/Overview.html index 39a72f3e8c..dfaaf94d72 100644 --- a/tests/github/w3c/csswg-drafts/css-sizing-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-sizing-4/Overview.html @@ -3095,109 +3095,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-speech-1/Overview.html b/tests/github/w3c/csswg-drafts/css-speech-1/Overview.html index 656901a29e..b19e72c400 100644 --- a/tests/github/w3c/csswg-drafts/css-speech-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-speech-1/Overview.html @@ -3931,109 +3931,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-syntax-3/Overview.html b/tests/github/w3c/csswg-drafts/css-syntax-3/Overview.html index 1b797643d3..7552a37b09 100644 --- a/tests/github/w3c/csswg-drafts/css-syntax-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-syntax-3/Overview.html @@ -7638,109 +7638,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-tables-3/Overview.html b/tests/github/w3c/csswg-drafts/css-tables-3/Overview.html index ecc4f8cf92..0c8a6575c3 100644 --- a/tests/github/w3c/csswg-drafts/css-tables-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-tables-3/Overview.html @@ -4770,109 +4770,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-text-decor-4/Overview.html b/tests/github/w3c/csswg-drafts/css-text-decor-4/Overview.html index b92d275142..f033469042 100644 --- a/tests/github/w3c/csswg-drafts/css-text-decor-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-text-decor-4/Overview.html @@ -4523,109 +4523,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-transforms-1/Overview.html b/tests/github/w3c/csswg-drafts/css-transforms-1/Overview.html index ee9052bcab..ac73d2541d 100644 --- a/tests/github/w3c/csswg-drafts/css-transforms-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-transforms-1/Overview.html @@ -4464,109 +4464,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-transforms-2/Overview.html b/tests/github/w3c/csswg-drafts/css-transforms-2/Overview.html index 94dfcd4e76..8a6476cada 100644 --- a/tests/github/w3c/csswg-drafts/css-transforms-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-transforms-2/Overview.html @@ -3564,109 +3564,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-transitions-1/Overview.html b/tests/github/w3c/csswg-drafts/css-transitions-1/Overview.html index a32f44ad9b..24b59b5ef3 100644 --- a/tests/github/w3c/csswg-drafts/css-transitions-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-transitions-1/Overview.html @@ -2846,109 +2846,4 @@

I } }); - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-transitions-2/Overview.html b/tests/github/w3c/csswg-drafts/css-transitions-2/Overview.html index 33b5030286..840abae6e0 100644 --- a/tests/github/w3c/csswg-drafts/css-transitions-2/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-transitions-2/Overview.html @@ -1862,109 +1862,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-ui-4/Overview.html b/tests/github/w3c/csswg-drafts/css-ui-4/Overview.html index 83bc732d9a..ea3ab9cfcd 100644 --- a/tests/github/w3c/csswg-drafts/css-ui-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-ui-4/Overview.html @@ -4691,109 +4691,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-variables-1/Overview.html b/tests/github/w3c/csswg-drafts/css-variables-1/Overview.html index 8ade2eebd2..2ff2cd9f03 100644 --- a/tests/github/w3c/csswg-drafts/css-variables-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-variables-1/Overview.html @@ -2119,109 +2119,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-will-change-1/Overview.html b/tests/github/w3c/csswg-drafts/css-will-change-1/Overview.html index 210d8b46f0..1b979d41e8 100644 --- a/tests/github/w3c/csswg-drafts/css-will-change-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-will-change-1/Overview.html @@ -1273,109 +1273,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-writing-modes-3/Overview.html b/tests/github/w3c/csswg-drafts/css-writing-modes-3/Overview.html index 1104760989..8e76199183 100644 --- a/tests/github/w3c/csswg-drafts/css-writing-modes-3/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-writing-modes-3/Overview.html @@ -5208,109 +5208,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/css-writing-modes-4/Overview.html b/tests/github/w3c/csswg-drafts/css-writing-modes-4/Overview.html index 0bc3135f47..aab45e2e9d 100644 --- a/tests/github/w3c/csswg-drafts/css-writing-modes-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/css-writing-modes-4/Overview.html @@ -5516,109 +5516,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/cssom-1/Overview.html b/tests/github/w3c/csswg-drafts/cssom-1/Overview.html index a0aa66944d..b94a48dc96 100644 --- a/tests/github/w3c/csswg-drafts/cssom-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/cssom-1/Overview.html @@ -6311,109 +6311,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/cssom-view-1/Overview.html b/tests/github/w3c/csswg-drafts/cssom-view-1/Overview.html index 1e46a2afcb..94fec2260d 100644 --- a/tests/github/w3c/csswg-drafts/cssom-view-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/cssom-view-1/Overview.html @@ -5215,109 +5215,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/mediaqueries-4/Overview.html b/tests/github/w3c/csswg-drafts/mediaqueries-4/Overview.html index cebef3ed05..e30da65203 100644 --- a/tests/github/w3c/csswg-drafts/mediaqueries-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/mediaqueries-4/Overview.html @@ -4666,109 +4666,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/mediaqueries-5/Overview.html b/tests/github/w3c/csswg-drafts/mediaqueries-5/Overview.html index ea1d989203..8d41954cfa 100644 --- a/tests/github/w3c/csswg-drafts/mediaqueries-5/Overview.html +++ b/tests/github/w3c/csswg-drafts/mediaqueries-5/Overview.html @@ -6045,109 +6045,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/resize-observer-1/Overview.html b/tests/github/w3c/csswg-drafts/resize-observer-1/Overview.html index 64b264b38b..bbc8348eb9 100644 --- a/tests/github/w3c/csswg-drafts/resize-observer-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/resize-observer-1/Overview.html @@ -2316,109 +2316,4 @@

I e.target.closest(".mdn-anno").classList.toggle("wrapped"); } }); - - \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/scroll-animations-1/Overview.html b/tests/github/w3c/csswg-drafts/scroll-animations-1/Overview.html index c936d827c5..b9be6b4f28 100644 --- a/tests/github/w3c/csswg-drafts/scroll-animations-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/scroll-animations-1/Overview.html @@ -3237,109 +3237,4 @@

{ - if(wptPath == "/") return; - - const runsUrl = "https://wpt.fyi/api/runs?label=master&label=stable&max-count=1&product=chrome&product=firefox&product=safari&product=edge"; - const runs = await (await fetch(runsUrl)).json(); - - const testResults = await( await fetch("https://wpt.fyi/api/search", { - method:"POST", - headers:{ - "Content-Type":"application/json", - }, - body: JSON.stringify({ - "run_ids": runs.map(x=>x.id), - "query": {"path": wptPath}, - }) - })).json(); - - const browsers = runs.map(x=>({name:x.browser_name, version:x.browser_version, passes:0, total: 0})); - const resultsFromPath = new Map(testResults.results.map(result=>{ - const testPath = result.test; - const passes = result.legacy_status.map(x=>[x.passes, x.total]); - return [testPath, passes]; - })); - document.querySelectorAll(".wpt-name").forEach(nameEl=>{ - const passData = resultsFromPath.get("/" + nameEl.getAttribute("title")); - const numTests = passData[0][1]; - if(numTests > 1) { - nameEl.insertAdjacentElement("beforeend", - el("small", {}, ` (${numTests} tests)`)); - } - if(passData == undefined) return; - passData.forEach((p,i) => { - browsers[i].passes += p[0]; - browsers[i].total += p[1]; - }) - const resultsEl = el("span",{"class":"wpt-results"}, - ...passData.map((p,i) => el("span", - { - "title": `${browsers[i].name} ${p[0]}/${p[1]}`, - "class": "wpt-result", - "style": `background: conic-gradient(forestgreen ${p[0]/p[1]*360}deg, darkred 0deg);`, - })), - ); - nameEl.insertAdjacentElement("afterend", resultsEl); - }); - const overview = document.querySelector(".wpt-overview"); - if(overview) { - overview.appendChild(el('ul',{}, ...browsers.map(formatWptResult))); - document.head.appendChild(el('style', {}, - `.wpt-overview ul { display: flex; flex-flow: row wrap; gap: .2em; justify-content: start; list-style: none; padding: 0; margin: 0;} - .wpt-overview li { padding: .25em 1em; color: black; text-align: center; } - .wpt-overview img { height: 1.5em; height: max(1.5em, 32px); background: transparent; } - .wpt-overview .browser { font-weight: bold; } - .wpt-overview .passes-none { background: #e57373; } - .wpt-overview .passes-hardly { background: #ffb74d; } - .wpt-overview .passes-a-few { background: #ffd54f; } - .wpt-overview .passes-half { background: #fff176; } - .wpt-overview .passes-lots { background: #dce775; } - .wpt-overview .passes-most { background: #aed581; } - .wpt-overview .passes-all { background: #81c784; }`)); - } -}); -function el(name, attrs, ...content) { - const x = document.createElement(name); - for(const [k,v] of Object.entries(attrs)) { - x.setAttribute(k, v); - } - for(let child of content) { - if(typeof child == "string") child = document.createTextNode(child); - try { - x.appendChild(child); - } catch(e) { console.log({x, child}); } - } - return x; -} -function formatWptResult({name, version, passes, total}) { - const passRate = passes/total; - let passClass = ""; - if(passRate == 0) passClass = "passes-none"; - else if(passRate < .2) passClass = "passes-hardly"; - else if(passRate < .4) passClass = "passes-a-few"; - else if(passRate < .6) passClass = "passes-half"; - else if(passRate < .8) passClass = "passes-lots"; - else if(passRate < 1) passClass = "passes-most"; - else passClass = "passes-all"; - - name = name[0].toUpperCase() + name.slice(1); - const shortVersion = /^\d+/.exec(version); - const icon = [] - - if(name == "Chrome") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/chrome-dev_64x64.png"})); - if(name == "Edge") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/edge-dev_64x64.png"})); - if(name == "Safari") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/safari-preview_64x64.png"})); - if(name == "Firefox") icon.push(el('img', {alt:"", src:"https://wpt.fyi/static/firefox-nightly_64x64.png"})); - - return el('li', {"class":passClass}, - el('nobr', {'class':'browser'}, ...icon, ` ${name} ${shortVersion}`), - el('br', {}), - el('nobr', {'class':'pass-rate'}, `${passes}/${total}`) - ); -} \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/selectors-4/Overview.html b/tests/github/w3c/csswg-drafts/selectors-4/Overview.html index 985896c8c6..8ea1df0a41 100644 --- a/tests/github/w3c/csswg-drafts/selectors-4/Overview.html +++ b/tests/github/w3c/csswg-drafts/selectors-4/Overview.html @@ -6420,109 +6420,4 @@

- \ No newline at end of file + \ No newline at end of file diff --git a/tests/github/w3c/csswg-drafts/web-animations-1/Overview.html b/tests/github/w3c/csswg-drafts/web-animations-1/Overview.html index a86aa6055d..3da0d5aae2 100644 --- a/tests/github/w3c/csswg-drafts/web-animations-1/Overview.html +++ b/tests/github/w3c/csswg-drafts/web-animations-1/Overview.html @@ -11741,109 +11741,4 @@

- \ No newline at end of file + \ No newline at end of file