Harness status: OK Found 354 tests 353 Pass 1 Fail Pass Loading data... Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/ba"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar/"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: ["https://example.com/foo/bar"] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: ["https://example.com/foo/bar/baz"] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"hostname":"example.com","pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?otherquery#otherhash"}] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["https://example.com/foo/bar"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["https://example.com/foo/bar?otherquery#otherhash"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["https://example.com/foo/bar?query#hash"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["https://example.com/foo/bar/baz"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["https://other.com/foo/bar"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: ["http://other.com/foo/bar"] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar","baseURL":"https://other.com"}] Pass Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}] Inputs: [{"pathname":"/foo/bar","baseURL":"http://example.com"}] Pass Pattern: [{"pathname":"/foo/:bar"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/([^\\/]+?)"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/:bar"}] Inputs: [{"pathname":"/foo/index.html"}] Pass Pattern: [{"pathname":"/foo/:bar"}] Inputs: [{"pathname":"/foo/bar/"}] Pass Pattern: [{"pathname":"/foo/:bar"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/(.*)"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/*"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/(.*)"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/*"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/(.*)"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/*"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/(.*)"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/*"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/:bar(.*)"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/:bar(.*)"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/:bar(.*)"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/:bar(.*)"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/:bar?"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/:bar?"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/:bar?"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/:bar?"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/:bar?"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/:bar+"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/:bar+"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/:bar+"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/:bar+"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/:bar+"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/:bar*"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/:bar*"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/:bar*"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/:bar*"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/:bar*"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/(.*)?"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo/*?"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/(.*)+"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo/*+"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/foobar"}] Pass Pattern: [{"pathname":"/foo/(.*)*"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo/**"}] Inputs: [{"pathname":"/fo"}] Pass Pattern: [{"pathname":"/foo{/bar}"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo{/bar}"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo{/bar}"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo{/bar}?"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}?"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo{/bar}?"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo{/bar}?"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo{/bar}+"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}+"}] Inputs: [{"pathname":"/foo/bar/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}+"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo{/bar}+"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo{/bar}+"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"pathname":"/foo{/bar}*"}] Inputs: [{"pathname":"/foo/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}*"}] Inputs: [{"pathname":"/foo/bar/bar"}] Pass Pattern: [{"pathname":"/foo{/bar}*"}] Inputs: [{"pathname":"/foo/bar/baz"}] Pass Pattern: [{"pathname":"/foo{/bar}*"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"pathname":"/foo{/bar}*"}] Inputs: [{"pathname":"/foo/"}] Pass Pattern: [{"protocol":"(café)"}] Inputs: undefined Pass Pattern: [{"username":"(café)"}] Inputs: undefined Pass Pattern: [{"password":"(café)"}] Inputs: undefined Pass Pattern: [{"hostname":"(café)"}] Inputs: undefined Pass Pattern: [{"pathname":"(café)"}] Inputs: undefined Pass Pattern: [{"search":"(café)"}] Inputs: undefined Pass Pattern: [{"hash":"(café)"}] Inputs: undefined Pass Pattern: [{"protocol":":café"}] Inputs: [{"protocol":"foo"}] Pass Pattern: [{"username":":café"}] Inputs: [{"username":"foo"}] Pass Pattern: [{"password":":café"}] Inputs: [{"password":"foo"}] Pass Pattern: [{"hostname":":café"}] Inputs: [{"hostname":"foo"}] Pass Pattern: [{"pathname":"/:café"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"search":":café"}] Inputs: [{"search":"foo"}] Pass Pattern: [{"hash":":café"}] Inputs: [{"hash":"foo"}] Pass Pattern: [{"protocol":":℘"}] Inputs: [{"protocol":"foo"}] Pass Pattern: [{"username":":℘"}] Inputs: [{"username":"foo"}] Pass Pattern: [{"password":":℘"}] Inputs: [{"password":"foo"}] Pass Pattern: [{"hostname":":℘"}] Inputs: [{"hostname":"foo"}] Pass Pattern: [{"pathname":"/:℘"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"search":":℘"}] Inputs: [{"search":"foo"}] Pass Pattern: [{"hash":":℘"}] Inputs: [{"hash":"foo"}] Pass Pattern: [{"protocol":":㐀"}] Inputs: [{"protocol":"foo"}] Pass Pattern: [{"username":":㐀"}] Inputs: [{"username":"foo"}] Pass Pattern: [{"password":":㐀"}] Inputs: [{"password":"foo"}] Pass Pattern: [{"hostname":":㐀"}] Inputs: [{"hostname":"foo"}] Pass Pattern: [{"pathname":"/:㐀"}] Inputs: [{"pathname":"/foo"}] Pass Pattern: [{"search":":㐀"}] Inputs: [{"search":"foo"}] Pass Pattern: [{"hash":":㐀"}] Inputs: [{"hash":"foo"}] Pass Pattern: [{"protocol":"(.*)"}] Inputs: [{"protocol":"café"}] Pass Pattern: [{"protocol":"(.*)"}] Inputs: [{"protocol":"cafe"}] Pass Pattern: [{"protocol":"foo-bar"}] Inputs: [{"protocol":"foo-bar"}] Pass Pattern: [{"username":"caf%C3%A9"}] Inputs: [{"username":"café"}] Pass Pattern: [{"username":"café"}] Inputs: [{"username":"café"}] Pass Pattern: [{"username":"caf%c3%a9"}] Inputs: [{"username":"café"}] Pass Pattern: [{"password":"caf%C3%A9"}] Inputs: [{"password":"café"}] Pass Pattern: [{"password":"café"}] Inputs: [{"password":"café"}] Pass Pattern: [{"password":"caf%c3%a9"}] Inputs: [{"password":"café"}] Pass Pattern: [{"hostname":"xn--caf-dma.com"}] Inputs: [{"hostname":"café.com"}] Pass Pattern: [{"hostname":"café.com"}] Inputs: [{"hostname":"café.com"}] Pass Pattern: ["http://🚲.com/"] Inputs: ["http://🚲.com/"] Pass Pattern: ["http://\ud83d \udeb2"] Inputs: undefined Pass Pattern: [{"hostname":"\ud83d \udeb2"}] Inputs: undefined Pass Pattern: [{"pathname":"\ud83d \udeb2"}] Inputs: [] Pass Pattern: [{"pathname":":\ud83d \udeb2"}] Inputs: undefined Pass Pattern: [{"pathname":":a󠄀b"}] Inputs: [] Pass Pattern: [{"pathname":"test/:a𐑐b"}] Inputs: [{"pathname":"test/foo"}] Pass Pattern: [{"pathname":":🚲"}] Inputs: undefined Pass Pattern: [{"port":""}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"protocol":"http","port":"80"}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"protocol":"http","port":"80{20}?"}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"protocol":"http","port":"80 "}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"protocol":"http","port":"100000"}] Inputs: [{"protocol":"http","port":"100000"}] Pass Pattern: [{"port":"80"}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"protocol":"http{s}?","port":"80"}] Inputs: [{"protocol":"http","port":"80"}] Pass Pattern: [{"port":"80"}] Inputs: [{"port":"80"}] Pass Pattern: [{"port":"80"}] Inputs: [{"port":"8\t0"}] Pass Pattern: [{"port":"80"}] Inputs: [{"port":"80x"}] Pass Pattern: [{"port":"80"}] Inputs: [{"port":"80?x"}] Pass Pattern: [{"port":"80"}] Inputs: [{"port":"80\\x"}] Pass Pattern: [{"port":"(.*)"}] Inputs: [{"port":"invalid80"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/./bar"}] Pass Pattern: [{"pathname":"/foo/baz"}] Inputs: [{"pathname":"/foo/bar/../baz"}] Pass Pattern: [{"pathname":"/caf%C3%A9"}] Inputs: [{"pathname":"/café"}] Pass Pattern: [{"pathname":"/café"}] Inputs: [{"pathname":"/café"}] Pass Pattern: [{"pathname":"/caf%c3%a9"}] Inputs: [{"pathname":"/café"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"foo/bar"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"/foo/../bar"}] Inputs: [{"pathname":"/bar"}] Pass Pattern: [{"pathname":"./foo/bar","baseURL":"https://example.com"}] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"","baseURL":"https://example.com"}] Inputs: [{"pathname":"/","baseURL":"https://example.com"}] Pass Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}] Pass Pattern: [{"pathname":"\\/bar","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}] Pass Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}] Pass Pattern: [{"pathname":"foo/bar"}] Inputs: ["https://example.com/foo/bar"] Pass Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}] Inputs: ["https://example.com/foo/bar"] Pass Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}] Inputs: ["https://example.com/foo.html"] Pass Pattern: [{"search":"q=caf%C3%A9"}] Inputs: [{"search":"q=café"}] Pass Pattern: [{"search":"q=café"}] Inputs: [{"search":"q=café"}] Pass Pattern: [{"search":"q=caf%c3%a9"}] Inputs: [{"search":"q=café"}] Pass Pattern: [{"hash":"caf%C3%A9"}] Inputs: [{"hash":"café"}] Pass Pattern: [{"hash":"café"}] Inputs: [{"hash":"café"}] Pass Pattern: [{"hash":"caf%c3%a9"}] Inputs: [{"hash":"café"}] Pass Pattern: [{"protocol":"about","pathname":"(blank|sourcedoc)"}] Inputs: ["about:blank"] Pass Pattern: [{"protocol":"data","pathname":":number([0-9]+)"}] Inputs: ["data:8675309"] Pass Pattern: [{"pathname":"/(\\m)"}] Inputs: undefined Pass Pattern: [{"pathname":"/foo!"}] Inputs: [{"pathname":"/foo!"}] Pass Pattern: [{"pathname":"/foo\\:"}] Inputs: [{"pathname":"/foo:"}] Pass Pattern: [{"pathname":"/foo\\{"}] Inputs: [{"pathname":"/foo{"}] Pass Pattern: [{"pathname":"/foo\\("}] Inputs: [{"pathname":"/foo("}] Pass Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}] Pass Pattern: [{"pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}] Pass Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}] Inputs: [{"baseURL":"javascript:var x = 1;"}] Pass Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}] Pass Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}] Pass Pattern: [{"pathname":"var x = 1;"}] Inputs: [{"pathname":"var x = 1;"}] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: ["./foo/bar","https://example.com"] Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"},"https://example.com"] Pass Pattern: ["https://example.com:8080/foo?bar#baz"] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}] Pass Pattern: ["/foo?bar#baz","https://example.com:8080"] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}] Pass Pattern: ["/foo"] Inputs: undefined Pass Pattern: ["example.com/foo"] Inputs: undefined Pass Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"] Inputs: ["https://sub.example.com/foo/bar"] Pass Pattern: ["https://example.com?foo"] Inputs: ["https://example.com/?foo"] Pass Pattern: ["https://example.com#foo"] Inputs: ["https://example.com/#foo"] Pass Pattern: ["https://example.com:8080?foo"] Inputs: ["https://example.com:8080/?foo"] Pass Pattern: ["https://example.com:8080#foo"] Inputs: ["https://example.com:8080/#foo"] Pass Pattern: ["https://example.com/?foo"] Inputs: ["https://example.com/?foo"] Pass Pattern: ["https://example.com/#foo"] Inputs: ["https://example.com/#foo"] Pass Pattern: ["https://example.com/*?foo"] Inputs: ["https://example.com/?foo"] Pass Pattern: ["https://example.com/*\\?foo"] Inputs: ["https://example.com/?foo"] Pass Pattern: ["https://example.com/:name?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/:name\\?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/(bar)?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/(bar)\\?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/{bar}?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/{bar}\\?foo"] Inputs: ["https://example.com/bar?foo"] Pass Pattern: ["https://example.com/"] Inputs: ["https://example.com:8080/"] Pass Pattern: ["data:foobar"] Inputs: ["data:foobar"] Pass Pattern: ["data\\:foobar"] Inputs: ["data:foobar"] Pass Pattern: ["https://{sub.}?example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["https://{sub.}?example{.com/}foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["{https://}example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["https://(sub.)?example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["https://(sub.)?example(.com/)foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["(https://)example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["https://{sub{.}}example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["https://(sub(?:.))?example.com/foo"] Inputs: ["https://example.com/foo"] Pass Pattern: ["file:///foo/bar"] Inputs: ["file:///foo/bar"] Pass Pattern: ["data:"] Inputs: ["data:"] Pass Pattern: ["foo://bar"] Inputs: ["foo://bad_url_browser_interop"] Pass Pattern: ["(café)://foo"] Inputs: undefined Pass Pattern: ["https://example.com/foo?bar#baz"] Inputs: [{"protocol":"https:","search":"?bar","hash":"#baz","baseURL":"http://example.com/foo"}] Pass Pattern: [{"protocol":"http{s}?:","search":"?bar","hash":"#baz"}] Inputs: ["http://example.com/foo?bar#baz"] Pass Pattern: ["?bar#baz","https://example.com/foo"] Inputs: ["?bar#baz","https://example.com/foo"] Pass Pattern: ["?bar","https://example.com/foo#baz"] Inputs: ["?bar","https://example.com/foo#snafu"] Pass Pattern: ["#baz","https://example.com/foo?bar"] Inputs: ["#baz","https://example.com/foo?bar"] Pass Pattern: ["#baz","https://example.com/foo"] Inputs: ["#baz","https://example.com/foo"] Pass Pattern: [{"pathname":"*"}] Inputs: ["foo","data:data-urls-cannot-be-base-urls"] Pass Pattern: [{"pathname":"*"}] Inputs: ["foo","not|a|valid|url"] Pass Pattern: ["https://foo\\:bar@example.com"] Inputs: ["https://foo:bar@example.com"] Pass Pattern: ["https://foo@example.com"] Inputs: ["https://foo@example.com"] Pass Pattern: ["https://\\:bar@example.com"] Inputs: ["https://:bar@example.com"] Pass Pattern: ["https://:user::pass@example.com"] Inputs: ["https://foo:bar@example.com"] Pass Pattern: ["https\\:foo\\:bar@example.com"] Inputs: ["https:foo:bar@example.com"] Pass Pattern: ["data\\:foo\\:bar@example.com"] Inputs: ["data:foo:bar@example.com"] Pass Pattern: ["https://foo{\\:}bar@example.com"] Inputs: ["https://foo:bar@example.com"] Pass Pattern: ["data{\\:}channel.html","https://example.com"] Inputs: ["https://example.com/data:channel.html"] Pass Pattern: ["http://[\\:\\:1]/"] Inputs: ["http://[::1]/"] Pass Pattern: ["http://[\\:\\:1]:8080/"] Inputs: ["http://[::1]:8080/"] Pass Pattern: ["http://[\\:\\:a]/"] Inputs: ["http://[::a]/"] Pass Pattern: ["http://[:address]/"] Inputs: ["http://[::1]/"] Pass Pattern: ["http://[\\:\\:AB\\::num]/"] Inputs: ["http://[::ab:1]/"] Pass Pattern: [{"hostname":"[\\:\\:AB\\::num]"}] Inputs: [{"hostname":"[::ab:1]"}] Pass Pattern: [{"hostname":"[\\:\\:xY\\::num]"}] Inputs: undefined Pass Pattern: [{"hostname":"{[\\:\\:ab\\::num]}"}] Inputs: [{"hostname":"[::ab:1]"}] Pass Pattern: [{"hostname":"{[\\:\\:fé\\::num]}"}] Inputs: undefined Pass Pattern: [{"hostname":"{[\\:\\::num\\:1]}"}] Inputs: [{"hostname":"[::ab:1]"}] Pass Pattern: [{"hostname":"{[\\:\\::num\\:fé]}"}] Inputs: undefined Pass Pattern: [{"hostname":"[*\\:1]"}] Inputs: [{"hostname":"[::ab:1]"}] Pass Pattern: [{"hostname":"*\\:1]"}] Inputs: undefined Pass Pattern: ["https://foo{{@}}example.com"] Inputs: ["https://foo@example.com"] Pass Pattern: ["https://foo{@example.com"] Inputs: ["https://foo@example.com"] Pass Pattern: ["data\\:text/javascript,let x = 100/:tens?5;"] Inputs: ["data:text/javascript,let x = 100/5;"] Pass Pattern: [{"pathname":"/:id/:id"}] Inputs: undefined Pass Pattern: [{"pathname":"/foo","baseURL":""}] Inputs: undefined Pass Pattern: ["/foo",""] Inputs: undefined Pass Pattern: [{"pathname":"/foo"},"https://example.com"] Inputs: undefined Pass Pattern: [{"pathname":":name*"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":name+"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":name"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"protocol":":name*"}] Inputs: [{"protocol":"foobar"}] Pass Pattern: [{"protocol":":name+"}] Inputs: [{"protocol":"foobar"}] Pass Pattern: [{"protocol":":name"}] Inputs: [{"protocol":"foobar"}] Pass Pattern: [{"hostname":"bad hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad#hostname"}] Inputs: [{"hostname":"bad"}] Pass Pattern: [{"hostname":"bad%hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad/hostname"}] Inputs: [{"hostname":"bad"}] Pass Pattern: [{"hostname":"bad\\:hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"badhostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad?hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad@hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad[hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad]hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad\\\\hostname"}] Inputs: [{"hostname":"badhostname"}] Pass Pattern: [{"hostname":"bad^hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad|hostname"}] Inputs: undefined Pass Pattern: [{"hostname":"bad\nhostname"}] Inputs: [{"hostname":"badhostname"}] Pass Pattern: [{"hostname":"bad\rhostname"}] Inputs: [{"hostname":"badhostname"}] Pass Pattern: [{"hostname":"bad\thostname"}] Inputs: [{"hostname":"badhostname"}] Pass Pattern: [{}] Inputs: ["https://example.com/"] Pass Pattern: [] Inputs: ["https://example.com/"] Pass Pattern: [] Inputs: [{}] Pass Pattern: [] Inputs: [] Pass Pattern: [{"pathname":"(foo)(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{(foo)bar}(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"(foo)?(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}(barbaz)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}{(.*)}"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}{(.*)bar}"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}{bar(.*)}"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}:bar(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo}?(.*)"}] Inputs: [{"pathname":"foobarbaz"}] Pass Pattern: [{"pathname":"{:foo\\bar}"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":"{:foo\\.bar}"}] Inputs: [{"pathname":"foo.bar"}] Pass Pattern: [{"pathname":"{:foo(foo)bar}"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":"{:foo}bar"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":foo\\bar"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":foo{}(.*)"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":foo{}bar"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":foo{}?bar"}] Inputs: [{"pathname":"foobar"}] Fail Pattern: [{"pathname":"*{}**?"}] Inputs: [{"pathname":"foobar"}] Pass Pattern: [{"pathname":":foo(baz)(.*)"}] Inputs: [{"pathname":"bazbar"}] Pass Pattern: [{"pathname":":foo(baz)bar"}] Inputs: [{"pathname":"bazbar"}] Pass Pattern: [{"pathname":"*/*"}] Inputs: [{"pathname":"foo/bar"}] Pass Pattern: [{"pathname":"*\\/*"}] Inputs: [{"pathname":"foo/bar"}] Pass Pattern: [{"pathname":"*/{*}"}] Inputs: [{"pathname":"foo/bar"}] Pass Pattern: [{"pathname":"*//*"}] Inputs: [{"pathname":"foo/bar"}] Pass Pattern: [{"pathname":"/:foo."}] Inputs: [{"pathname":"/bar."}] Pass Pattern: [{"pathname":"/:foo.."}] Inputs: [{"pathname":"/bar.."}] Pass Pattern: [{"pathname":"./foo"}] Inputs: [{"pathname":"./foo"}] Pass Pattern: [{"pathname":"../foo"}] Inputs: [{"pathname":"../foo"}] Pass Pattern: [{"pathname":":foo./"}] Inputs: [{"pathname":"bar./"}] Pass Pattern: [{"pathname":":foo../"}] Inputs: [{"pathname":"bar../"}] Pass Pattern: [{"pathname":"/:foo\\bar"}] Inputs: [{"pathname":"/bazbar"}] Pass Pattern: [{"pathname":"/foo/bar"},{"ignoreCase":true}] Inputs: [{"pathname":"/FOO/BAR"}] Pass Pattern: [{"ignoreCase":true}] Inputs: [{"pathname":"/FOO/BAR"}] Pass Pattern: ["https://example.com:8080/foo?bar#baz",{"ignoreCase":true}] Inputs: [{"pathname":"/FOO","search":"BAR","hash":"BAZ","baseURL":"https://example.com:8080"}] Pass Pattern: ["/foo?bar#baz","https://example.com:8080",{"ignoreCase":true}] Inputs: [{"pathname":"/FOO","search":"BAR","hash":"BAZ","baseURL":"https://example.com:8080"}] Pass Pattern: ["/foo?bar#baz",{"ignoreCase":true},"https://example.com:8080"] Inputs: [{"pathname":"/FOO","search":"BAR","hash":"BAZ","baseURL":"https://example.com:8080"}] Pass Pattern: [{"search":"foo","baseURL":"https://example.com/a/+/b"}] Inputs: [{"search":"foo","baseURL":"https://example.com/a/+/b"}] Pass Pattern: [{"hash":"foo","baseURL":"https://example.com/?q=*&v=?&hmm={}&umm=()"}] Inputs: [{"hash":"foo","baseURL":"https://example.com/?q=*&v=?&hmm={}&umm=()"}] Pass Pattern: ["#foo","https://example.com/?q=*&v=?&hmm={}&umm=()"] Inputs: ["https://example.com/?q=*&v=?&hmm={}&umm=()#foo"] Pass Pattern: [{"pathname":"/([[a-z]--a])"}] Inputs: [{"pathname":"/a"}] Pass Pattern: [{"pathname":"/([[a-z]--a])"}] Inputs: [{"pathname":"/z"}] Pass Pattern: [{"pathname":"/([\\d&&[0-1]])"}] Inputs: [{"pathname":"/0"}] Pass Pattern: [{"pathname":"/([\\d&&[0-1]])"}] Inputs: [{"pathname":"/3"}]