Skip to content

Commit 53ca2ff

Browse files
committed
[css-writing-modes-3] implementation-report.html: add sections and fix numbers
1 parent 89583ac commit 53ca2ff

File tree

1 file changed

+59
-16
lines changed

1 file changed

+59
-16
lines changed

css-writing-modes-3/implementation-report.html

Lines changed: 59 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,41 @@
1212
.may, .has-dependency {
1313
background-color: lightgray;
1414
}
15+
.at-risk, table.results .at-risk a:not(:hover) {
16+
color: lightgray;
17+
}
1518
.exit .id {
1619
background-color: #bcffa9;
1720
}
21+
table.results th {
22+
border-bottom: thin solid black;
23+
}
1824
table.results td {
1925
text-align: center;
2026
}
2127
table.results td.pass {
2228
background-color: lime;
2329
}
30+
table.results tr.summary {
31+
border-top: thin solid gray;
32+
}
33+
table.results tr.summary td {
34+
text-align: left;
35+
}
2436
</style>
2537
<body>
2638
<h1>CSS Writing Modes Level 3 Implementation Report</h1>
27-
39+
2840
<h2>Introduction</h2>
29-
<p><a href="https://drafts.csswg.org/css-writing-modes-3/">CSS Writing Modes Level 3</a> defines CSS support
30-
for various international writing modes, such as left-to-right (e.g. Latin or Indic), right-to-left
41+
<p><a href="https://drafts.csswg.org/css-writing-modes-3/">CSS Writing Modes Level 3</a> defines CSS support
42+
for various international writing modes, such as left-to-right (e.g. Latin or Indic), right-to-left
3143
(e.g. Hebrew or Arabic), bidirectional (e.g. mixed Latin and Arabic) and vertical (e.g. Asian scripts).
32-
It has a <a href="http://test.csswg.org/suites/css-writing-modes-3_dev/nightly-unstable/">test suite</a>
33-
containing 1126 tests. Of those, 908 (80.6%) meet the CR exit criteria.</p>
44+
It has a <a href="http://test.csswg.org/suites/css-writing-modes-3_dev/nightly-unstable/">test suite</a>
45+
containing 995 tests. Of those, 866 (87%) meet the CR exit criteria as of January, 2017.</p>
3446
<p>This implementation report examines the remaining tests in more detail.
3547
</p>
48+
<p>Note that this report counts Blink and WebKit as one implementation,
49+
though it shows the data for each where available.</p>
3650
<h2>Tests that do not have 2 implementations</h2>
3751

3852
<table id="less-than-2" class="results"></table>
@@ -96,19 +110,37 @@ <h3>Tests that require other specifications</h3>
96110
they are not considered as required.
97111
<table id="has-dependency" class="results"></table>
98112

113+
<h3>Tests that are not MUST</h3>
114+
<p>Following tests do not have 2 implementations,
115+
but they are defined as MAY/SHOULD and that
116+
they are not considered as required.
117+
<table id="may" class="results"></table>
118+
119+
<h3>Tests that were moved to Level 4</h3>
120+
<p>Following tests do not have 2 implementations,
121+
but they were <i>at risk</i> in the CR and were moved to Level 4.
122+
<table id="at-risk" class="results"></table>
123+
99124
<h2>All results</h2>
100125
<table id="all-list" class="results"></table>
101126
<script>
102127
window.onload = fillData;
103128
function fillData() {
104129
const testList = loadData();
105130
fillTable(document.getElementById('less-than-2'), testList, test => {
106-
return test.passCount < 2 && !test.isMay && !test.hasDependency;
131+
return test.passCount < 2 && !test.isMay && !test.hasDependency && !test.isAtRisk;
107132
});
108133
fillTable(document.getElementById('has-dependency'), testList, test => {
109-
return test.passCount < 2 && test.hasDependency;
134+
return test.passCount < 2 && test.hasDependency && !test.isAtRisk;
135+
});
136+
fillTable(document.getElementById('may'), testList, test => {
137+
return test.passCount < 2 && test.isMay && !test.isAtRisk;
138+
});
139+
fillTable(document.getElementById('at-risk'), testList, test => {
140+
return test.passCount < 2 && test.isAtRisk;
110141
});
111142
fillTable(document.getElementById('all-list'), testList);
143+
return testList;
112144
}
113145

114146
function loadData() {
@@ -124,10 +156,6 @@ <h2>All results</h2>
124156
test.isMay =
125157
test.id.indexOf('form-controls') >= 0 ||
126158
test.id.indexOf('full-width-00') >= 0 ||
127-
test.id.indexOf('-slr') >= 0 ||
128-
test.id.indexOf('-srl') >= 0 ||
129-
test.id.indexOf('-sideways-lr') >= 0 ||
130-
test.id.indexOf('-sideways-rl') >= 0 ||
131159
test.id === 'text-combine-upright-compression-005a' ||
132160
test.id === 'text-combine-upright-compression-006' ||
133161
test.id.indexOf('text-combine-upright-parsing-digits') >= 0;
@@ -149,18 +177,23 @@ <h2>All results</h2>
149177
for (let engine of engines)
150178
appendCell(row, 'th', engine);
151179
table.appendChild(row);
180+
let showCount = 0, passCount = 0;
152181
for (let test of testList) {
153-
if (test.isAtRisk)
154-
continue;
155182
if (filter && !filter(test))
156183
continue;
184+
showCount++;
157185
let row = document.createElement('tr');
158-
if (test.passCount >= 2)
186+
if (test.passCount >= 2) {
159187
row.className = 'exit';
160-
else if (test.isMay)
188+
passCount++;
189+
} else if (test.isAtRisk) {
190+
row.className = 'at-risk';
191+
} else if (test.isMay) {
161192
row.className = 'may';
162-
if (test.hasDependency)
193+
}
194+
if (test.hasDependency) {
163195
row.classList.add('has-dependency');
196+
}
164197
let label = appendCell(row, 'td', test.id);
165198
label.className = 'id';
166199
label.innerHTML = '<a href="https://test.csswg.org/harness/test/css-writing-modes-3_dev/single/' + test.id + '">' + test.id + '</a>';
@@ -172,6 +205,16 @@ <h2>All results</h2>
172205
}
173206
table.appendChild(row);
174207
}
208+
let summary = `${showCount} tests`;
209+
if (passCount)
210+
summary = `${passCount} passes/${showCount - passCount} fails from ${summary} (${Math.round(passCount / showCount * 100)}% pass)`;
211+
if (filter)
212+
summary = `${summary}, filtered from ${testList.length} tests`;
213+
let summaryRow = document.createElement('tr');
214+
summaryRow.classList.add('summary');
215+
let summaryCell = appendCell(summaryRow, 'td', summary);
216+
summaryCell.colSpan = engines.length + 1;
217+
table.appendChild(summaryRow);
175218
}
176219

177220
function passCount(test) {

0 commit comments

Comments
 (0)