Web Platform Tests, scripted
Sashfold's pass rate on the testharness.js tests of the Web Platform Tests — the tests written as scripts, each file holding many subtests that assert what the DOM, the window and the event loop do. Every test is loaded by Sashfold itself, headless, from the suite's own files, its scripts run and its event loop pumped until the harness reports; the verdicts are the harness's own. The unit counted is the subtest, as the suite's dashboards count them.
| Directory | Subtests | Rate | Files | |
|---|---|---|---|---|
dom/nodes | 10662 / 13066 | 81.6% | 316 / 316 | |
dom/events | 379 / 834 | 45.4% | 191 / 192 | |
dom/ranges | 44475 / 44697 | 99.5% | 68 / 68 | |
dom/traversal | 1600 / 1608 | 99.5% | 18 / 18 | |
html/browsers/the-window-object | 452 / 781 | 57.9% | 96 / 96 | |
html/browsers/windows | 61 / 122 | 50.0% | 53 / 53 | |
html/browsers/origin | 268 / 671 | 39.9% | 98 / 98 | |
html/semantics/embedded-content/the-iframe-element | 116 / 224 | 51.8% | 150 / 150 | |
html/semantics/embedded-content/the-object-element | 32 / 46 | 69.6% | 17 / 17 | |
html/semantics/embedded-content/the-embed-element | 25 / 27 | 92.6% | 16 / 16 | |
html/semantics/embedded-content/the-frame-element | 1 / 1 | 100.0% | 1 / 1 | |
html/webappapis/scripting | 1562 / 1695 | 92.2% | 108 / 108 | |
html/webappapis/structured-clone | 143 / 156 | 91.7% | 2 / 2 | |
html/webappapis/timers | 13 / 17 | 76.5% | 13 / 13 | |
html/webappapis/microtask-queuing | 8 / 9 | 88.9% | 4 / 4 | |
html/infrastructure | 605 / 1007 | 60.1% | 115 / 115 | |
html/syntax/parsing | 2564 / 7785 | 32.9% | 231 / 231 | |
url | 7828 / 10006 | 78.2% | 40 / 40 | |
custom-elements | 2447 / 4000 | 61.2% | 185 / 185 | |
shadow-dom | 464 / 956 | 48.5% | 277 / 277 | |
dom/abort | 35 / 37 | 94.6% | 6 / 6 | |
dom/collections | 9 / 53 | 17.0% | 10 / 10 | |
dom/lists | 186 / 189 | 98.4% | 5 / 5 | |
css/cssom | 2757 / 4048 | 68.1% | 191 / 192 | |
html/dom | 62352 / 66382 | 93.9% | 245 / 245 | |
html/webappapis/dynamic-markup-insertion | 130 / 363 | 35.8% | 163 / 163 | |
css/css-conditional | 1737 / 1908 | 91.0% | 226 / 226 | |
css/css-fonts/parsing | 409 / 1610 | 25.4% | 84 / 84 | |
css/css-display | 178 / 443 | 40.2% | 33 / 33 | |
IndexedDB | 1566 / 1618 | 96.8% | 226 / 226 | |
html/canvas/element | 1903 / 3417 | 55.7% | 1286 / 1286 | |
media-source | 157 / 502 | 31.3% | 83 / 83 | |
html/semantics/embedded-content/media-elements | 362 / 871 | 41.6% | 379 / 379 | |
html/semantics/embedded-content/the-video-element | 8 / 28 | 28.6% | 22 / 22 | |
html/semantics/embedded-content/the-audio-element | 12 / 24 | 50.0% | 14 / 14 | |
html/user-activation | 12 / 36 | 33.3% | 21 / 21 | |
picture-in-picture | 40 / 109 | 36.7% | 18 / 18 | |
media-capabilities | 95 / 152 | 62.5% | 7 / 7 | |
mediasession | 95 / 130 | 73.1% | 9 / 9 | |
storage | 59 / 157 | 37.6% | 27 / 27 | |
permissions | 68 / 85 | 80.0% | 12 / 12 | |
geolocation | 83 / 129 | 64.3% | 21 / 21 | |
mediacapture-streams | 64 / 372 | 17.2% | 58 / 58 | |
screen-wake-lock | 30 / 71 | 42.3% | 16 / 16 | |
credential-management | 58 / 134 | 43.3% | 13 / 13 | |
badging | 29 / 37 | 78.4% | 5 / 5 | |
web-share | 23 / 68 | 33.8% | 17 / 30 | |
gamepad | 49 / 119 | 41.2% | 9 / 9 | |
trusted-types | 1093 / 3430 | 31.9% | 234 / 235 | |
user-timing | 85 / 266 | 32.0% | 36 / 36 | |
performance-timeline | 15 / 67 | 22.4% | 49 / 51 | |
hr-time | 36 / 52 | 69.2% | 13 / 13 | |
css/css-nesting | 66 / 117 | 56.4% | 22 / 22 | |
css/css-cascade | 227 / 577 | 39.3% | 97 / 97 | |
streams | 1393 / 1501 | 92.8% | 85 / 85 | |
encoding/streams | 105 / 123 | 85.4% | 13 / 13 | |
web-animations | 2172 / 2998 | 72.4% | 140 / 142 | |
css/css-animations | 849 / 1402 | 60.6% | 126 / 126 | |
css/css-transitions | 2619 / 3307 | 79.2% | 122 / 122 | |
css/css-easing | 115 / 156 | 73.7% | 12 / 12 | |
css/css-backgrounds | 2710 / 6181 | 43.8% | 121 / 121 | |
css/css-text-decor | 150 / 1292 | 11.6% | 48 / 48 |
Scored 2026-10-05 against WPT revision b1a7025f8bc1. The subtests counted are those the harness reported: a test file whose harness never reports — a script the engine cannot run, a wait on a server the runner does not have — contributes none, and the files column says how many did. Every host of the suite is served from the same checkout, nothing touches the network, and no server-side handler runs. The number is enforced in CI: a baseline names every passing subtest, and one that stops passing fails the build.