Test

Input: "http://f:999999/c"

Base: "http://example.org/foo/bar"

Results

agent href exception
testdata http://f:999999/c
addressable http://f:999999/c
chrome http://f:999999/c
firefox http://f:999999/c
ie Invalid argument.
nodejs http://f:999999/c
opera http://f:999999/c
rust http://f:999999/c Invalid port number
safari http://f:999999/c

Properties

agent protocol hostname port pathname
testdata http: f 999999 /c
addressable http: f 999999 /c
chrome : 0
firefox http: f 999999 /c
ie Invalid argument. Invalid argument. Invalid argument. Invalid argument.
nodejs http: f 999999 /c
opera opera: illegal-url-119
rust :
safari http: f 65535 /c

User Agents

testdata: https://github.com/rubys/web-platform-tests/blob/e90d3da734225df9ecc49b9ad1ee7be0ceaad6f6/url/urltestdata.txt

addressable: addressable (2.3.6)

chrome: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36

firefox: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0

ie: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

nodejs: node.js v0.10.32

opera: Opera/9.80 (Macintosh; Intel Mac OS X 10.9.5) Presto/2.12.388 Version/12.16

rust: url 0.1.0 (git+https://github.com/servo/rust-url#55b18b796ef2cef5490069dd450c60c2cc2c0c1b)

safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10