forked from mirrors/gecko-dev
		
	MANUAL PUSH: wpt sync bot wpt-head: 4a8e1e081701c95a7f2d27eff2d2a9ee96691edc wpt-type: landing
		
			
				
	
	
		
			3186 lines
		
	
	
	
		
			109 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			3186 lines
		
	
	
	
		
			109 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
[urlpattern.https.any.sharedworker.html]
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/ba"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?otherquery#otherhash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["http://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://other.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"http://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/index.html"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":café"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":café"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":café"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":café"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:café"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":café"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":café"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":℘"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":℘"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":℘"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":℘"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:℘"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":℘"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":℘"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":㐀"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":㐀"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":㐀"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":㐀"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:㐀"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":㐀"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":㐀"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"cafe"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"foo-bar"}\] Inputs: [{"protocol":"foo-bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%C3%A9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"café"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%c3%a9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%C3%A9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"café"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%c3%a9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"xn--caf-dma.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"café.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":""}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80{20}?"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80 "}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"(.*)"}\] Inputs: [{"port":"invalid80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/./bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/baz"}\] Inputs: [{"pathname":"/foo/bar/../baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%C3%A9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/café"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%c3%a9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/../bar"}\] Inputs: [{"pathname":"/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"./foo/bar","baseURL":"https://example.com"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%C3%A9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=café"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%c3%a9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%C3%A9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"café"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%c3%a9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"about","pathname":"(blank|sourcedoc)"}\] Inputs: ["about:blank"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"data","pathname":":number([0-9\]+)"}\] Inputs: ["data:8675309"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/(\\\\m)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo!"}\] Inputs: [{"pathname":"/foo!"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\:"}\] Inputs: [{"pathname":"/foo:"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\{"}\] Inputs: [{"pathname":"/foo{"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\("}\] Inputs: [{"pathname":"/foo("}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"baseURL":"javascript:var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["./foo/bar","https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"},"https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080/foo?bar#baz"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo?bar#baz","https://example.com:8080"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["example.com/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"\] Inputs: ["https://sub.example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080?foo"\] Inputs: ["https://example.com:8080/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080#foo"\] Inputs: ["https://example.com:8080/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*\\\\?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/"\] Inputs: ["https://example.com:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example{.com/}foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["{https://}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example(.com/)foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(https://)example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub{.}}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub(?:.))?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["file:///foo/bar"\] Inputs: ["file:///foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:"\] Inputs: ["data:"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["foo://bar"\] Inputs: ["foo://bad_url_browser_interop"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(café)://foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?otherquery#otherhash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?query#hash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/foo?bar#baz"\] Inputs: [{"protocol":"https:","search":"?bar","hash":"#baz","baseURL":"http://example.com/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?:","search":"?bar","hash":"#baz"}\] Inputs: ["http://example.com/foo?bar#baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar#baz","https://example.com/foo"\] Inputs: ["?bar#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar","https://example.com/foo#baz"\] Inputs: ["?bar","https://example.com/foo#snafu"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo?bar"\] Inputs: ["#baz","https://example.com/foo?bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo"\] Inputs: ["#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo\\\\:bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://\\\\:bar@example.com"\] Inputs: ["https://:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://:user::pass@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https\\\\:foo\\\\:bar@example.com"\] Inputs: ["https:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foo\\\\:bar@example.com"\] Inputs: ["data:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{\\\\:}bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data{\\\\:}channel.html","https://example.com"\] Inputs: ["https://example.com/data:channel.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{{@}}example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","data:data-urls-cannot-be-base-urls"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"\\\\/bar","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo"},"https://example.com"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:id/:id"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name+"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","not|a|valid|url"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name*"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/([^\\\\/\]+?)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"","baseURL":"https://example.com"}\] Inputs: [{"pathname":"/","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo","baseURL":""}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:text/javascript,let x = 100/:tens?5;"\] Inputs: ["data:text/javascript,let x = 100/5;"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo",""\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name*"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name+"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:a\]/"\] Inputs: ["http://[::a\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]:8080/"\] Inputs: ["http://[::1\]:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]/"\] Inputs: ["http://[::1\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
 | 
						|
[urlpattern.https.any.html]
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/ba"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?otherquery#otherhash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["http://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://other.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"http://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/index.html"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":café"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":café"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":café"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":café"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:café"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":café"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":café"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":℘"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":℘"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":℘"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":℘"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:℘"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":℘"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":℘"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":㐀"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":㐀"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":㐀"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":㐀"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:㐀"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":㐀"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":㐀"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"cafe"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"foo-bar"}\] Inputs: [{"protocol":"foo-bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%C3%A9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"café"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%c3%a9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%C3%A9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"café"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%c3%a9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"xn--caf-dma.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"café.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":""}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80{20}?"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80 "}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"(.*)"}\] Inputs: [{"port":"invalid80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/./bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/baz"}\] Inputs: [{"pathname":"/foo/bar/../baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%C3%A9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/café"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%c3%a9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/../bar"}\] Inputs: [{"pathname":"/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"./foo/bar","baseURL":"https://example.com"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%C3%A9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=café"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%c3%a9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%C3%A9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"café"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%c3%a9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"about","pathname":"(blank|sourcedoc)"}\] Inputs: ["about:blank"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"data","pathname":":number([0-9\]+)"}\] Inputs: ["data:8675309"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/(\\\\m)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo!"}\] Inputs: [{"pathname":"/foo!"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\:"}\] Inputs: [{"pathname":"/foo:"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\{"}\] Inputs: [{"pathname":"/foo{"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\("}\] Inputs: [{"pathname":"/foo("}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"baseURL":"javascript:var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["./foo/bar","https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"},"https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080/foo?bar#baz"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo?bar#baz","https://example.com:8080"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["example.com/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"\] Inputs: ["https://sub.example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080?foo"\] Inputs: ["https://example.com:8080/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080#foo"\] Inputs: ["https://example.com:8080/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*\\\\?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/"\] Inputs: ["https://example.com:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example{.com/}foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["{https://}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example(.com/)foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(https://)example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub{.}}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub(?:.))?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["file:///foo/bar"\] Inputs: ["file:///foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:"\] Inputs: ["data:"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["foo://bar"\] Inputs: ["foo://bad_url_browser_interop"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(café)://foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?otherquery#otherhash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?query#hash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/foo?bar#baz"\] Inputs: [{"protocol":"https:","search":"?bar","hash":"#baz","baseURL":"http://example.com/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?:","search":"?bar","hash":"#baz"}\] Inputs: ["http://example.com/foo?bar#baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar#baz","https://example.com/foo"\] Inputs: ["?bar#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar","https://example.com/foo#baz"\] Inputs: ["?bar","https://example.com/foo#snafu"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo?bar"\] Inputs: ["#baz","https://example.com/foo?bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo"\] Inputs: ["#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo\\\\:bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://\\\\:bar@example.com"\] Inputs: ["https://:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://:user::pass@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https\\\\:foo\\\\:bar@example.com"\] Inputs: ["https:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foo\\\\:bar@example.com"\] Inputs: ["data:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{\\\\:}bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data{\\\\:}channel.html","https://example.com"\] Inputs: ["https://example.com/data:channel.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{{@}}example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","data:data-urls-cannot-be-base-urls"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"\\\\/bar","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo"},"https://example.com"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:id/:id"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name+"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","not|a|valid|url"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name*"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/([^\\\\/\]+?)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"","baseURL":"https://example.com"}\] Inputs: [{"pathname":"/","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo","baseURL":""}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:text/javascript,let x = 100/:tens?5;"\] Inputs: ["data:text/javascript,let x = 100/5;"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo",""\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name*"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name+"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:a\]/"\] Inputs: ["http://[::a\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]:8080/"\] Inputs: ["http://[::1\]:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]/"\] Inputs: ["http://[::1\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
 | 
						|
[urlpattern.https.any.worker.html]
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/ba"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?otherquery#otherhash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["http://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://other.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"http://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/index.html"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":café"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":café"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":café"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":café"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:café"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":café"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":café"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":℘"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":℘"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":℘"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":℘"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:℘"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":℘"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":℘"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":㐀"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":㐀"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":㐀"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":㐀"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:㐀"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":㐀"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":㐀"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"cafe"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"foo-bar"}\] Inputs: [{"protocol":"foo-bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%C3%A9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"café"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%c3%a9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%C3%A9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"café"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%c3%a9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"xn--caf-dma.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"café.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":""}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80{20}?"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80 "}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"(.*)"}\] Inputs: [{"port":"invalid80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/./bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/baz"}\] Inputs: [{"pathname":"/foo/bar/../baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%C3%A9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/café"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%c3%a9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/../bar"}\] Inputs: [{"pathname":"/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"./foo/bar","baseURL":"https://example.com"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%C3%A9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=café"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%c3%a9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%C3%A9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"café"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%c3%a9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"about","pathname":"(blank|sourcedoc)"}\] Inputs: ["about:blank"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"data","pathname":":number([0-9\]+)"}\] Inputs: ["data:8675309"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/(\\\\m)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo!"}\] Inputs: [{"pathname":"/foo!"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\:"}\] Inputs: [{"pathname":"/foo:"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\{"}\] Inputs: [{"pathname":"/foo{"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\("}\] Inputs: [{"pathname":"/foo("}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"baseURL":"javascript:var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["./foo/bar","https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"},"https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080/foo?bar#baz"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo?bar#baz","https://example.com:8080"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["example.com/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"\] Inputs: ["https://sub.example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080?foo"\] Inputs: ["https://example.com:8080/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080#foo"\] Inputs: ["https://example.com:8080/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*\\\\?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/"\] Inputs: ["https://example.com:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example{.com/}foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["{https://}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example(.com/)foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(https://)example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub{.}}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub(?:.))?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["file:///foo/bar"\] Inputs: ["file:///foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:"\] Inputs: ["data:"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["foo://bar"\] Inputs: ["foo://bad_url_browser_interop"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(café)://foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?otherquery#otherhash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?query#hash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/foo?bar#baz"\] Inputs: [{"protocol":"https:","search":"?bar","hash":"#baz","baseURL":"http://example.com/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?:","search":"?bar","hash":"#baz"}\] Inputs: ["http://example.com/foo?bar#baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar#baz","https://example.com/foo"\] Inputs: ["?bar#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar","https://example.com/foo#baz"\] Inputs: ["?bar","https://example.com/foo#snafu"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo?bar"\] Inputs: ["#baz","https://example.com/foo?bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo"\] Inputs: ["#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo\\\\:bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://\\\\:bar@example.com"\] Inputs: ["https://:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://:user::pass@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https\\\\:foo\\\\:bar@example.com"\] Inputs: ["https:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foo\\\\:bar@example.com"\] Inputs: ["data:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{\\\\:}bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data{\\\\:}channel.html","https://example.com"\] Inputs: ["https://example.com/data:channel.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{{@}}example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","data:data-urls-cannot-be-base-urls"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"\\\\/bar","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo"},"https://example.com"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:id/:id"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name+"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","not|a|valid|url"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name*"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/([^\\\\/\]+?)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"","baseURL":"https://example.com"}\] Inputs: [{"pathname":"/","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo","baseURL":""}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:text/javascript,let x = 100/:tens?5;"\] Inputs: ["data:text/javascript,let x = 100/5;"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo",""\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name*"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name+"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:a\]/"\] Inputs: ["http://[::a\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]:8080/"\] Inputs: ["http://[::1\]:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]/"\] Inputs: ["http://[::1\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
 | 
						|
[urlpattern.https.any.serviceworker.html]
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/ba"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?otherquery#otherhash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar/baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["http://other.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar/baz","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://other.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"http://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/index.html"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/bar/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar(.*)"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/:bar*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*?"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/*+"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/(.*)*"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/**"}\] Inputs: [{"pathname":"/fo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}?"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}+"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo{/bar}*"}\] Inputs: [{"pathname":"/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"(café)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":café"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":café"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":café"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":café"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:café"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":café"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":café"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":℘"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":℘"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":℘"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":℘"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:℘"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":℘"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":℘"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":㐀"}\] Inputs: [{"protocol":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":":㐀"}\] Inputs: [{"username":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":":㐀"}\] Inputs: [{"password":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":":㐀"}\] Inputs: [{"hostname":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:㐀"}\] Inputs: [{"pathname":"/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":":㐀"}\] Inputs: [{"search":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":":㐀"}\] Inputs: [{"hash":"foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(.*)"}\] Inputs: [{"protocol":"cafe"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"foo-bar"}\] Inputs: [{"protocol":"foo-bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%C3%A9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"café"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"username":"caf%c3%a9"}\] Inputs: [{"username":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%C3%A9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"café"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"password":"caf%c3%a9"}\] Inputs: [{"password":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"xn--caf-dma.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hostname":"café.com"}\] Inputs: [{"hostname":"café.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":""}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80{20}?"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http","port":"80 "}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?","port":"80"}\] Inputs: [{"protocol":"http","port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"80"}\] Inputs: [{"port":"80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"port":"(.*)"}\] Inputs: [{"port":"invalid80"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/./bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/baz"}\] Inputs: [{"pathname":"/foo/bar/../baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%C3%A9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/café"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/caf%c3%a9"}\] Inputs: [{"pathname":"/café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/../bar"}\] Inputs: [{"pathname":"/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"./foo/bar","baseURL":"https://example.com"}\] Inputs: [{"pathname":"foo/bar","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}\] Inputs: ["https://example.com/foo.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%C3%A9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=café"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"search":"q=caf%c3%a9"}\] Inputs: [{"search":"q=café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%C3%A9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"café"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"hash":"caf%c3%a9"}\] Inputs: [{"hash":"café"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"about","pathname":"(blank|sourcedoc)"}\] Inputs: ["about:blank"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"data","pathname":":number([0-9\]+)"}\] Inputs: ["data:8675309"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/(\\\\m)"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo!"}\] Inputs: [{"pathname":"/foo!"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\:"}\] Inputs: [{"pathname":"/foo:"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\{"}\] Inputs: [{"pathname":"/foo{"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo\\\\("}\] Inputs: [{"pathname":"/foo("}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}\] Inputs: [{"baseURL":"javascript:var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}\] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"var x = 1;"}\] Inputs: [{"pathname":"var x = 1;"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: ["./foo/bar","https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar"}\] Inputs: [{"pathname":"/foo/bar"},"https://example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080/foo?bar#baz"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo?bar#baz","https://example.com:8080"\] Inputs: [{"pathname":"/foo","search":"bar","hash":"baz","baseURL":"https://example.com:8080"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["example.com/foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"\] Inputs: ["https://sub.example.com/foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080?foo"\] Inputs: ["https://example.com:8080/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com:8080#foo"\] Inputs: ["https://example.com:8080/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/#foo"\] Inputs: ["https://example.com/#foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/*\\\\?foo"\] Inputs: ["https://example.com/?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/:name\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/(bar)\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/{bar}\\\\?foo"\] Inputs: ["https://example.com/bar?foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/"\] Inputs: ["https://example.com:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foobar"\] Inputs: ["data:foobar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub.}?example{.com/}foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["{https://}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub.)?example(.com/)foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(https://)example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://{sub{.}}example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://(sub(?:.))?example.com/foo"\] Inputs: ["https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["file:///foo/bar"\] Inputs: ["file:///foo/bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data:"\] Inputs: ["data:"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["foo://bar"\] Inputs: ["foo://bad_url_browser_interop"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["(café)://foo"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar/baz"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?otherquery#otherhash"}\] Inputs: [{"protocol":"https","hostname":"example.com","pathname":"/foo/bar","search":"otherquery","hash":"otherhash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: ["https://example.com/foo/bar?query#hash"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\] Inputs: [{"pathname":"/foo/bar","baseURL":"https://example.com?query#hash"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://example.com/foo?bar#baz"\] Inputs: [{"protocol":"https:","search":"?bar","hash":"#baz","baseURL":"http://example.com/foo"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":"http{s}?:","search":"?bar","hash":"#baz"}\] Inputs: ["http://example.com/foo?bar#baz"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar#baz","https://example.com/foo"\] Inputs: ["?bar#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["?bar","https://example.com/foo#baz"\] Inputs: ["?bar","https://example.com/foo#snafu"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo?bar"\] Inputs: ["#baz","https://example.com/foo?bar"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["#baz","https://example.com/foo"\] Inputs: ["#baz","https://example.com/foo"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo\\\\:bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://\\\\:bar@example.com"\] Inputs: ["https://:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://:user::pass@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https\\\\:foo\\\\:bar@example.com"\] Inputs: ["https:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:foo\\\\:bar@example.com"\] Inputs: ["data:foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{\\\\:}bar@example.com"\] Inputs: ["https://foo:bar@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data{\\\\:}channel.html","https://example.com"\] Inputs: ["https://example.com/data:channel.html"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{{@}}example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["https://foo{@example.com"\] Inputs: ["https://foo@example.com"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","data:data-urls-cannot-be-base-urls"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"\\\\/bar","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo"},"https://example.com"\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/:id/:id"}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name+"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"*"}\] Inputs: ["foo","not|a|valid|url"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":":name*"}\] Inputs: [{"pathname":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo/([^\\\\/\]+?)"}\] Inputs: [{"pathname":"/foo/bar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"","baseURL":"https://example.com"}\] Inputs: [{"pathname":"/","baseURL":"https://example.com"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}\] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"pathname":"/foo","baseURL":""}\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["data\\\\:text/javascript,let x = 100/:tens?5;"\] Inputs: ["data:text/javascript,let x = 100/5;"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["/foo",""\] Inputs: undefined]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name*"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: [{"protocol":":name+"}\] Inputs: [{"protocol":"foobar"}\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:a\]/"\] Inputs: ["http://[::a\]/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]:8080/"\] Inputs: ["http://[::1\]:8080/"\]]
 | 
						|
    expected: FAIL
 | 
						|
 | 
						|
  [Pattern: ["http://[\\\\:\\\\:1\]/"\] Inputs: ["http://[::1\]/"\]]
 | 
						|
    expected: FAIL
 |