Really exciting stuff :D. I love specs that have reference implementations and 
strong test suites and am hopeful that as URL gets fixes and updates that these 
stay in sync. E.g. normal software development practices of not changing 
anything without a test, and so on.

From: whatwg [mailto:whatwg-boun...@lists.whatwg.org] On Behalf Of Sam Ruby

> https://url.spec.whatwg.org/interop/urltest-results/

I'd be interested in a view that only contains refimpl, ie, safari, firefox, 
and chrome, so we could compare the URL Standard with living browsers.

> I'd like to suggest that the following test be added:
> 
> https://github.com/rubys/url/blob/peg.js/reference-implementation/test/moretestdata.txt
>
> And that the expected results be changed on the following tests:
> 
> https://github.com/rubys/url/blob/peg.js/reference-implementation/test/patchtestdata.txt
> 
> Note: I appear to have direct update access to urltestdata.txt, but I would 
> appreciate a review before I make any updates.

A pull request with a nice diff would be easy to review, I think?

> The setters also have unit tests:
> 
> https://github.com/rubys/url/blob/peg.js/reference-implementation/test/urlsettest.js

So good!

For streams I am running the unit tests against my reference implementation on 
every commit (via Travis). Might be worth setting up something similar.

> As a final note, the reference implementation has a list of known differences 
> from the published standard:
>
> intertwingly.net/projects/pegurl/url.html

Hmm, so this isn't really a reference implementation of the published standard 
then? Indeed looking at the code it seems to not follow the algorithms in the 
spec at all :(. That's a bit unfortunate if the goal is to test that the spec 
is accurate.

I guess 
https://github.com/rubys/url/tree/peg.js/reference-implementation#historical-notes
 explains that. Hmm. In that case, I'm unclear in what sense this is a 
reference implementation, instead of an alternate algorithm.

Reply via email to