Post

This is the best explanation of the interplay of specs, tests, and implementations that I've read. The point of both specs and tests is interoperable implementations, but that doesn't mean that implementations are always right when they agree.

I would take it one step further. I think that if two implementations agree on something, it's irresponsible to change it without first considering the shortest path to interop. "The spec says so" is not a good enough reason without that path.

0 reposts3 likes

In the end, often a combination of changes across specs, tests, and implementations are required. When collaboration is working well, it's a lot of fun to sort out obscure things like how newlines should be normalized, especially when web developers and users are affected by the lack of interop.