On June 13, operations screeched to a halt here at Bocoup. The phones were ringing, but we didn’t answer them. Packages delivered to our door went ignored. Chicken eggs piled up. All hands were on keyboards, collaborating on the web-platform-tests project.
We’ve been participating in WPT for years, largely in collaboration with the Chromium, Gecko and WebKit teams. Not everyone at Bocoup has had the pleasure, though. This was intolerable to Simon, who had been contributing to the project since its inception. That’s why he organized the full-company all-day meeting during his visit to our office in Boston.
We started the day with an orientation to help folks get a handle on the big picture. We defined the day’s work in terms of three “tracks”: fixing tests, writing new tests, and on-boarding to the project. Everyone split up according to their fancy with Simon, Rick, and Mike serving as mentors.
Brendan and Corey joined forces to take on tests that have been marked as “disabled,” “flaky,” or “slow” by one or more browsers. Working from the report we maintain on the topic, they were both frustrated by subtleties in autoplay policies and victorious over non-determinacy in a Cross-Origin Resource Sharing test.
The input for writing new HTML and CSS tests is open whatwg/html PRs with the “needs tests” label and w3c/csswg issues/PRs with the “Needs Testcase (WPT)” label, respectively. Like a moth to a flame, Valerie saw the phrase “syntax test” and immediately set out to resolve issue number 10498. That’s a big job, but we’re excited about her initial progress. Boaz has recently been tracking research into compatibility issues identified by JavaScript library authors. Taking that as his inspiration, he wrote a test for the selectionchange
event in the context of a workaround in React, and created a pull request with an initial test as well as an issue recording opportunities for further work.
Folks on the first-time contributors track started by setting up their development environments according to the project documentation. This experience unearthed a few ambiguities, and they’re committed to chasing those down (one patch has already been merged). With that out of the way, they got to work improving the tests themselves. What does a first-time contributor have to offer to a complicated project like WPT? Quite a lot! The maintainers of Node.js were interested in running some of WPT’s tests. That’s because Node.js defines some of the same APIs available in the browser, and they want to ensure consistency. Working together, Amal, Marie, Jory, Z, and Leo made this test sharing possible by refactoring all the relevant tests for three specifications: URL, encoding, and performance timeline.
Isaac, burned out on writing code from his recent adventures in night schooling, struck out on a track of his own design. He continued to experiment with techniques for visualizing test results–a challenge for WPT but also for other test suites such as Test262. He’s making great strides in that direction, and we’re looking forward to sharing his work with the world.
On Thursday, we swept up all the confetti, and office duties returned to normal. It’ll be a while before we pull a stunt like that again, but in the meantime, we’ll be satisfied following through with all the great work we started this week.