Hi Santiago, I'm following up on a suggestion from Mike Smith:
http://krijnhoetmer.nl/irc-logs/whatwg/20141024#l-697
He suggested that I ask you for feedback on the following:
http://intertwingly.net/projects/pegurl/url.html
I also said that I would test galimatias for compatibility. I've posted
the results here:
http://intertwingly.net/stories/2014/10/24/urltest-results/
A few notes: it doesn't appear to me that galimatias reports any
recoverable parse errors (for example, including a tab or a linefeed
inside a path). Also galimatias doesn't provide the interfaces that the
URL Standard defines, for example to get the portname - an interface
that is supposed to return null if the port matches the default port for
the scheme.
Even with that accounted for, there still are a number of notable results:
Null pointer exceptions, some examples:
http://intertwingly.net/stories/2014/10/24/urltest-results/bf8630587b,
http://intertwingly.net/stories/2014/10/24/urltest-results/4038fcfa6d,
http://intertwingly.net/stories/2014/10/24/urltest-results/275612041a,
http://intertwingly.net/stories/2014/10/24/urltest-results/2f33177681,
http://intertwingly.net/stories/2014/10/24/urltest-results/e630bf59c6,
http://intertwingly.net/stories/2014/10/24/urltest-results/a16d100f37
Returning an empty string instead of null for fragment:
http://intertwingly.net/stories/2014/10/24/urltest-results/1b77231365
Returning an empty string instead of null for query:
http://intertwingly.net/stories/2014/10/24/urltest-results/24f081633d
ipv6 addresses not wrapped in []:
http://intertwingly.net/stories/2014/10/24/urltest-results/54f86d22f2
difference in case:
http://intertwingly.net/stories/2014/10/24/urltest-results/e40dedda84,
http://intertwingly.net/stories/2014/10/24/urltest-results/9a4e54b1c3
If you want to review how I captured these results, the program I used
can be found here:
http://intertwingly.net/stories/2014/10/24/urltest.java
Please let me know if you identify any problems with that program, and I
will be glad to rerun the tests.
- Sam Ruby