11cb0ef41Sopenharmony_ci[ 21cb0ef41Sopenharmony_ci "See ../README.md for a description of the format.", 31cb0ef41Sopenharmony_ci { 41cb0ef41Sopenharmony_ci "input": "http://example\t.\norg", 51cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 61cb0ef41Sopenharmony_ci "href": "http://example.org/", 71cb0ef41Sopenharmony_ci "origin": "http://example.org", 81cb0ef41Sopenharmony_ci "protocol": "http:", 91cb0ef41Sopenharmony_ci "username": "", 101cb0ef41Sopenharmony_ci "password": "", 111cb0ef41Sopenharmony_ci "host": "example.org", 121cb0ef41Sopenharmony_ci "hostname": "example.org", 131cb0ef41Sopenharmony_ci "port": "", 141cb0ef41Sopenharmony_ci "pathname": "/", 151cb0ef41Sopenharmony_ci "search": "", 161cb0ef41Sopenharmony_ci "hash": "" 171cb0ef41Sopenharmony_ci }, 181cb0ef41Sopenharmony_ci { 191cb0ef41Sopenharmony_ci "input": "http://user:pass@foo:21/bar;par?b#c", 201cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 211cb0ef41Sopenharmony_ci "href": "http://user:pass@foo:21/bar;par?b#c", 221cb0ef41Sopenharmony_ci "origin": "http://foo:21", 231cb0ef41Sopenharmony_ci "protocol": "http:", 241cb0ef41Sopenharmony_ci "username": "user", 251cb0ef41Sopenharmony_ci "password": "pass", 261cb0ef41Sopenharmony_ci "host": "foo:21", 271cb0ef41Sopenharmony_ci "hostname": "foo", 281cb0ef41Sopenharmony_ci "port": "21", 291cb0ef41Sopenharmony_ci "pathname": "/bar;par", 301cb0ef41Sopenharmony_ci "search": "?b", 311cb0ef41Sopenharmony_ci "hash": "#c" 321cb0ef41Sopenharmony_ci }, 331cb0ef41Sopenharmony_ci { 341cb0ef41Sopenharmony_ci "input": "https://test:@test", 351cb0ef41Sopenharmony_ci "base": null, 361cb0ef41Sopenharmony_ci "href": "https://test@test/", 371cb0ef41Sopenharmony_ci "origin": "https://test", 381cb0ef41Sopenharmony_ci "protocol": "https:", 391cb0ef41Sopenharmony_ci "username": "test", 401cb0ef41Sopenharmony_ci "password": "", 411cb0ef41Sopenharmony_ci "host": "test", 421cb0ef41Sopenharmony_ci "hostname": "test", 431cb0ef41Sopenharmony_ci "port": "", 441cb0ef41Sopenharmony_ci "pathname": "/", 451cb0ef41Sopenharmony_ci "search": "", 461cb0ef41Sopenharmony_ci "hash": "" 471cb0ef41Sopenharmony_ci }, 481cb0ef41Sopenharmony_ci { 491cb0ef41Sopenharmony_ci "input": "https://:@test", 501cb0ef41Sopenharmony_ci "base": null, 511cb0ef41Sopenharmony_ci "href": "https://test/", 521cb0ef41Sopenharmony_ci "origin": "https://test", 531cb0ef41Sopenharmony_ci "protocol": "https:", 541cb0ef41Sopenharmony_ci "username": "", 551cb0ef41Sopenharmony_ci "password": "", 561cb0ef41Sopenharmony_ci "host": "test", 571cb0ef41Sopenharmony_ci "hostname": "test", 581cb0ef41Sopenharmony_ci "port": "", 591cb0ef41Sopenharmony_ci "pathname": "/", 601cb0ef41Sopenharmony_ci "search": "", 611cb0ef41Sopenharmony_ci "hash": "" 621cb0ef41Sopenharmony_ci }, 631cb0ef41Sopenharmony_ci { 641cb0ef41Sopenharmony_ci "input": "non-special://test:@test/x", 651cb0ef41Sopenharmony_ci "base": null, 661cb0ef41Sopenharmony_ci "href": "non-special://test@test/x", 671cb0ef41Sopenharmony_ci "origin": "null", 681cb0ef41Sopenharmony_ci "protocol": "non-special:", 691cb0ef41Sopenharmony_ci "username": "test", 701cb0ef41Sopenharmony_ci "password": "", 711cb0ef41Sopenharmony_ci "host": "test", 721cb0ef41Sopenharmony_ci "hostname": "test", 731cb0ef41Sopenharmony_ci "port": "", 741cb0ef41Sopenharmony_ci "pathname": "/x", 751cb0ef41Sopenharmony_ci "search": "", 761cb0ef41Sopenharmony_ci "hash": "" 771cb0ef41Sopenharmony_ci }, 781cb0ef41Sopenharmony_ci { 791cb0ef41Sopenharmony_ci "input": "non-special://:@test/x", 801cb0ef41Sopenharmony_ci "base": null, 811cb0ef41Sopenharmony_ci "href": "non-special://test/x", 821cb0ef41Sopenharmony_ci "origin": "null", 831cb0ef41Sopenharmony_ci "protocol": "non-special:", 841cb0ef41Sopenharmony_ci "username": "", 851cb0ef41Sopenharmony_ci "password": "", 861cb0ef41Sopenharmony_ci "host": "test", 871cb0ef41Sopenharmony_ci "hostname": "test", 881cb0ef41Sopenharmony_ci "port": "", 891cb0ef41Sopenharmony_ci "pathname": "/x", 901cb0ef41Sopenharmony_ci "search": "", 911cb0ef41Sopenharmony_ci "hash": "" 921cb0ef41Sopenharmony_ci }, 931cb0ef41Sopenharmony_ci { 941cb0ef41Sopenharmony_ci "input": "http:foo.com", 951cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 961cb0ef41Sopenharmony_ci "href": "http://example.org/foo/foo.com", 971cb0ef41Sopenharmony_ci "origin": "http://example.org", 981cb0ef41Sopenharmony_ci "protocol": "http:", 991cb0ef41Sopenharmony_ci "username": "", 1001cb0ef41Sopenharmony_ci "password": "", 1011cb0ef41Sopenharmony_ci "host": "example.org", 1021cb0ef41Sopenharmony_ci "hostname": "example.org", 1031cb0ef41Sopenharmony_ci "port": "", 1041cb0ef41Sopenharmony_ci "pathname": "/foo/foo.com", 1051cb0ef41Sopenharmony_ci "search": "", 1061cb0ef41Sopenharmony_ci "hash": "" 1071cb0ef41Sopenharmony_ci }, 1081cb0ef41Sopenharmony_ci { 1091cb0ef41Sopenharmony_ci "input": "\t :foo.com \n", 1101cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 1111cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:foo.com", 1121cb0ef41Sopenharmony_ci "origin": "http://example.org", 1131cb0ef41Sopenharmony_ci "protocol": "http:", 1141cb0ef41Sopenharmony_ci "username": "", 1151cb0ef41Sopenharmony_ci "password": "", 1161cb0ef41Sopenharmony_ci "host": "example.org", 1171cb0ef41Sopenharmony_ci "hostname": "example.org", 1181cb0ef41Sopenharmony_ci "port": "", 1191cb0ef41Sopenharmony_ci "pathname": "/foo/:foo.com", 1201cb0ef41Sopenharmony_ci "search": "", 1211cb0ef41Sopenharmony_ci "hash": "" 1221cb0ef41Sopenharmony_ci }, 1231cb0ef41Sopenharmony_ci { 1241cb0ef41Sopenharmony_ci "input": " foo.com ", 1251cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 1261cb0ef41Sopenharmony_ci "href": "http://example.org/foo/foo.com", 1271cb0ef41Sopenharmony_ci "origin": "http://example.org", 1281cb0ef41Sopenharmony_ci "protocol": "http:", 1291cb0ef41Sopenharmony_ci "username": "", 1301cb0ef41Sopenharmony_ci "password": "", 1311cb0ef41Sopenharmony_ci "host": "example.org", 1321cb0ef41Sopenharmony_ci "hostname": "example.org", 1331cb0ef41Sopenharmony_ci "port": "", 1341cb0ef41Sopenharmony_ci "pathname": "/foo/foo.com", 1351cb0ef41Sopenharmony_ci "search": "", 1361cb0ef41Sopenharmony_ci "hash": "" 1371cb0ef41Sopenharmony_ci }, 1381cb0ef41Sopenharmony_ci { 1391cb0ef41Sopenharmony_ci "input": "a:\t foo.com", 1401cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 1411cb0ef41Sopenharmony_ci "href": "a: foo.com", 1421cb0ef41Sopenharmony_ci "origin": "null", 1431cb0ef41Sopenharmony_ci "protocol": "a:", 1441cb0ef41Sopenharmony_ci "username": "", 1451cb0ef41Sopenharmony_ci "password": "", 1461cb0ef41Sopenharmony_ci "host": "", 1471cb0ef41Sopenharmony_ci "hostname": "", 1481cb0ef41Sopenharmony_ci "port": "", 1491cb0ef41Sopenharmony_ci "pathname": " foo.com", 1501cb0ef41Sopenharmony_ci "search": "", 1511cb0ef41Sopenharmony_ci "hash": "" 1521cb0ef41Sopenharmony_ci }, 1531cb0ef41Sopenharmony_ci { 1541cb0ef41Sopenharmony_ci "input": "http://f:21/ b ? d # e ", 1551cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 1561cb0ef41Sopenharmony_ci "href": "http://f:21/%20b%20?%20d%20#%20e", 1571cb0ef41Sopenharmony_ci "origin": "http://f:21", 1581cb0ef41Sopenharmony_ci "protocol": "http:", 1591cb0ef41Sopenharmony_ci "username": "", 1601cb0ef41Sopenharmony_ci "password": "", 1611cb0ef41Sopenharmony_ci "host": "f:21", 1621cb0ef41Sopenharmony_ci "hostname": "f", 1631cb0ef41Sopenharmony_ci "port": "21", 1641cb0ef41Sopenharmony_ci "pathname": "/%20b%20", 1651cb0ef41Sopenharmony_ci "search": "?%20d%20", 1661cb0ef41Sopenharmony_ci "hash": "#%20e" 1671cb0ef41Sopenharmony_ci }, 1681cb0ef41Sopenharmony_ci { 1691cb0ef41Sopenharmony_ci "input": "lolscheme:x x#x x", 1701cb0ef41Sopenharmony_ci "base": null, 1711cb0ef41Sopenharmony_ci "href": "lolscheme:x x#x%20x", 1721cb0ef41Sopenharmony_ci "protocol": "lolscheme:", 1731cb0ef41Sopenharmony_ci "username": "", 1741cb0ef41Sopenharmony_ci "password": "", 1751cb0ef41Sopenharmony_ci "host": "", 1761cb0ef41Sopenharmony_ci "hostname": "", 1771cb0ef41Sopenharmony_ci "port": "", 1781cb0ef41Sopenharmony_ci "pathname": "x x", 1791cb0ef41Sopenharmony_ci "search": "", 1801cb0ef41Sopenharmony_ci "hash": "#x%20x" 1811cb0ef41Sopenharmony_ci }, 1821cb0ef41Sopenharmony_ci { 1831cb0ef41Sopenharmony_ci "input": "http://f:/c", 1841cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 1851cb0ef41Sopenharmony_ci "href": "http://f/c", 1861cb0ef41Sopenharmony_ci "origin": "http://f", 1871cb0ef41Sopenharmony_ci "protocol": "http:", 1881cb0ef41Sopenharmony_ci "username": "", 1891cb0ef41Sopenharmony_ci "password": "", 1901cb0ef41Sopenharmony_ci "host": "f", 1911cb0ef41Sopenharmony_ci "hostname": "f", 1921cb0ef41Sopenharmony_ci "port": "", 1931cb0ef41Sopenharmony_ci "pathname": "/c", 1941cb0ef41Sopenharmony_ci "search": "", 1951cb0ef41Sopenharmony_ci "hash": "" 1961cb0ef41Sopenharmony_ci }, 1971cb0ef41Sopenharmony_ci { 1981cb0ef41Sopenharmony_ci "input": "http://f:0/c", 1991cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2001cb0ef41Sopenharmony_ci "href": "http://f:0/c", 2011cb0ef41Sopenharmony_ci "origin": "http://f:0", 2021cb0ef41Sopenharmony_ci "protocol": "http:", 2031cb0ef41Sopenharmony_ci "username": "", 2041cb0ef41Sopenharmony_ci "password": "", 2051cb0ef41Sopenharmony_ci "host": "f:0", 2061cb0ef41Sopenharmony_ci "hostname": "f", 2071cb0ef41Sopenharmony_ci "port": "0", 2081cb0ef41Sopenharmony_ci "pathname": "/c", 2091cb0ef41Sopenharmony_ci "search": "", 2101cb0ef41Sopenharmony_ci "hash": "" 2111cb0ef41Sopenharmony_ci }, 2121cb0ef41Sopenharmony_ci { 2131cb0ef41Sopenharmony_ci "input": "http://f:00000000000000/c", 2141cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2151cb0ef41Sopenharmony_ci "href": "http://f:0/c", 2161cb0ef41Sopenharmony_ci "origin": "http://f:0", 2171cb0ef41Sopenharmony_ci "protocol": "http:", 2181cb0ef41Sopenharmony_ci "username": "", 2191cb0ef41Sopenharmony_ci "password": "", 2201cb0ef41Sopenharmony_ci "host": "f:0", 2211cb0ef41Sopenharmony_ci "hostname": "f", 2221cb0ef41Sopenharmony_ci "port": "0", 2231cb0ef41Sopenharmony_ci "pathname": "/c", 2241cb0ef41Sopenharmony_ci "search": "", 2251cb0ef41Sopenharmony_ci "hash": "" 2261cb0ef41Sopenharmony_ci }, 2271cb0ef41Sopenharmony_ci { 2281cb0ef41Sopenharmony_ci "input": "http://f:00000000000000000000080/c", 2291cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2301cb0ef41Sopenharmony_ci "href": "http://f/c", 2311cb0ef41Sopenharmony_ci "origin": "http://f", 2321cb0ef41Sopenharmony_ci "protocol": "http:", 2331cb0ef41Sopenharmony_ci "username": "", 2341cb0ef41Sopenharmony_ci "password": "", 2351cb0ef41Sopenharmony_ci "host": "f", 2361cb0ef41Sopenharmony_ci "hostname": "f", 2371cb0ef41Sopenharmony_ci "port": "", 2381cb0ef41Sopenharmony_ci "pathname": "/c", 2391cb0ef41Sopenharmony_ci "search": "", 2401cb0ef41Sopenharmony_ci "hash": "" 2411cb0ef41Sopenharmony_ci }, 2421cb0ef41Sopenharmony_ci { 2431cb0ef41Sopenharmony_ci "input": "http://f:b/c", 2441cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2451cb0ef41Sopenharmony_ci "failure": true 2461cb0ef41Sopenharmony_ci }, 2471cb0ef41Sopenharmony_ci { 2481cb0ef41Sopenharmony_ci "input": "http://f: /c", 2491cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2501cb0ef41Sopenharmony_ci "failure": true 2511cb0ef41Sopenharmony_ci }, 2521cb0ef41Sopenharmony_ci { 2531cb0ef41Sopenharmony_ci "input": "http://f:\n/c", 2541cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2551cb0ef41Sopenharmony_ci "href": "http://f/c", 2561cb0ef41Sopenharmony_ci "origin": "http://f", 2571cb0ef41Sopenharmony_ci "protocol": "http:", 2581cb0ef41Sopenharmony_ci "username": "", 2591cb0ef41Sopenharmony_ci "password": "", 2601cb0ef41Sopenharmony_ci "host": "f", 2611cb0ef41Sopenharmony_ci "hostname": "f", 2621cb0ef41Sopenharmony_ci "port": "", 2631cb0ef41Sopenharmony_ci "pathname": "/c", 2641cb0ef41Sopenharmony_ci "search": "", 2651cb0ef41Sopenharmony_ci "hash": "" 2661cb0ef41Sopenharmony_ci }, 2671cb0ef41Sopenharmony_ci { 2681cb0ef41Sopenharmony_ci "input": "http://f:fifty-two/c", 2691cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2701cb0ef41Sopenharmony_ci "failure": true 2711cb0ef41Sopenharmony_ci }, 2721cb0ef41Sopenharmony_ci { 2731cb0ef41Sopenharmony_ci "input": "http://f:999999/c", 2741cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2751cb0ef41Sopenharmony_ci "failure": true 2761cb0ef41Sopenharmony_ci }, 2771cb0ef41Sopenharmony_ci { 2781cb0ef41Sopenharmony_ci "input": "non-special://f:999999/c", 2791cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2801cb0ef41Sopenharmony_ci "failure": true 2811cb0ef41Sopenharmony_ci }, 2821cb0ef41Sopenharmony_ci { 2831cb0ef41Sopenharmony_ci "input": "http://f: 21 / b ? d # e ", 2841cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2851cb0ef41Sopenharmony_ci "failure": true 2861cb0ef41Sopenharmony_ci }, 2871cb0ef41Sopenharmony_ci { 2881cb0ef41Sopenharmony_ci "input": "", 2891cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 2901cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar", 2911cb0ef41Sopenharmony_ci "origin": "http://example.org", 2921cb0ef41Sopenharmony_ci "protocol": "http:", 2931cb0ef41Sopenharmony_ci "username": "", 2941cb0ef41Sopenharmony_ci "password": "", 2951cb0ef41Sopenharmony_ci "host": "example.org", 2961cb0ef41Sopenharmony_ci "hostname": "example.org", 2971cb0ef41Sopenharmony_ci "port": "", 2981cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 2991cb0ef41Sopenharmony_ci "search": "", 3001cb0ef41Sopenharmony_ci "hash": "" 3011cb0ef41Sopenharmony_ci }, 3021cb0ef41Sopenharmony_ci { 3031cb0ef41Sopenharmony_ci "input": " \t", 3041cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3051cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar", 3061cb0ef41Sopenharmony_ci "origin": "http://example.org", 3071cb0ef41Sopenharmony_ci "protocol": "http:", 3081cb0ef41Sopenharmony_ci "username": "", 3091cb0ef41Sopenharmony_ci "password": "", 3101cb0ef41Sopenharmony_ci "host": "example.org", 3111cb0ef41Sopenharmony_ci "hostname": "example.org", 3121cb0ef41Sopenharmony_ci "port": "", 3131cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 3141cb0ef41Sopenharmony_ci "search": "", 3151cb0ef41Sopenharmony_ci "hash": "" 3161cb0ef41Sopenharmony_ci }, 3171cb0ef41Sopenharmony_ci { 3181cb0ef41Sopenharmony_ci "input": ":foo.com/", 3191cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3201cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:foo.com/", 3211cb0ef41Sopenharmony_ci "origin": "http://example.org", 3221cb0ef41Sopenharmony_ci "protocol": "http:", 3231cb0ef41Sopenharmony_ci "username": "", 3241cb0ef41Sopenharmony_ci "password": "", 3251cb0ef41Sopenharmony_ci "host": "example.org", 3261cb0ef41Sopenharmony_ci "hostname": "example.org", 3271cb0ef41Sopenharmony_ci "port": "", 3281cb0ef41Sopenharmony_ci "pathname": "/foo/:foo.com/", 3291cb0ef41Sopenharmony_ci "search": "", 3301cb0ef41Sopenharmony_ci "hash": "" 3311cb0ef41Sopenharmony_ci }, 3321cb0ef41Sopenharmony_ci { 3331cb0ef41Sopenharmony_ci "input": ":foo.com\\", 3341cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3351cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:foo.com/", 3361cb0ef41Sopenharmony_ci "origin": "http://example.org", 3371cb0ef41Sopenharmony_ci "protocol": "http:", 3381cb0ef41Sopenharmony_ci "username": "", 3391cb0ef41Sopenharmony_ci "password": "", 3401cb0ef41Sopenharmony_ci "host": "example.org", 3411cb0ef41Sopenharmony_ci "hostname": "example.org", 3421cb0ef41Sopenharmony_ci "port": "", 3431cb0ef41Sopenharmony_ci "pathname": "/foo/:foo.com/", 3441cb0ef41Sopenharmony_ci "search": "", 3451cb0ef41Sopenharmony_ci "hash": "" 3461cb0ef41Sopenharmony_ci }, 3471cb0ef41Sopenharmony_ci { 3481cb0ef41Sopenharmony_ci "input": ":", 3491cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3501cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:", 3511cb0ef41Sopenharmony_ci "origin": "http://example.org", 3521cb0ef41Sopenharmony_ci "protocol": "http:", 3531cb0ef41Sopenharmony_ci "username": "", 3541cb0ef41Sopenharmony_ci "password": "", 3551cb0ef41Sopenharmony_ci "host": "example.org", 3561cb0ef41Sopenharmony_ci "hostname": "example.org", 3571cb0ef41Sopenharmony_ci "port": "", 3581cb0ef41Sopenharmony_ci "pathname": "/foo/:", 3591cb0ef41Sopenharmony_ci "search": "", 3601cb0ef41Sopenharmony_ci "hash": "" 3611cb0ef41Sopenharmony_ci }, 3621cb0ef41Sopenharmony_ci { 3631cb0ef41Sopenharmony_ci "input": ":a", 3641cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3651cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:a", 3661cb0ef41Sopenharmony_ci "origin": "http://example.org", 3671cb0ef41Sopenharmony_ci "protocol": "http:", 3681cb0ef41Sopenharmony_ci "username": "", 3691cb0ef41Sopenharmony_ci "password": "", 3701cb0ef41Sopenharmony_ci "host": "example.org", 3711cb0ef41Sopenharmony_ci "hostname": "example.org", 3721cb0ef41Sopenharmony_ci "port": "", 3731cb0ef41Sopenharmony_ci "pathname": "/foo/:a", 3741cb0ef41Sopenharmony_ci "search": "", 3751cb0ef41Sopenharmony_ci "hash": "" 3761cb0ef41Sopenharmony_ci }, 3771cb0ef41Sopenharmony_ci { 3781cb0ef41Sopenharmony_ci "input": ":/", 3791cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3801cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:/", 3811cb0ef41Sopenharmony_ci "origin": "http://example.org", 3821cb0ef41Sopenharmony_ci "protocol": "http:", 3831cb0ef41Sopenharmony_ci "username": "", 3841cb0ef41Sopenharmony_ci "password": "", 3851cb0ef41Sopenharmony_ci "host": "example.org", 3861cb0ef41Sopenharmony_ci "hostname": "example.org", 3871cb0ef41Sopenharmony_ci "port": "", 3881cb0ef41Sopenharmony_ci "pathname": "/foo/:/", 3891cb0ef41Sopenharmony_ci "search": "", 3901cb0ef41Sopenharmony_ci "hash": "" 3911cb0ef41Sopenharmony_ci }, 3921cb0ef41Sopenharmony_ci { 3931cb0ef41Sopenharmony_ci "input": ":\\", 3941cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 3951cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:/", 3961cb0ef41Sopenharmony_ci "origin": "http://example.org", 3971cb0ef41Sopenharmony_ci "protocol": "http:", 3981cb0ef41Sopenharmony_ci "username": "", 3991cb0ef41Sopenharmony_ci "password": "", 4001cb0ef41Sopenharmony_ci "host": "example.org", 4011cb0ef41Sopenharmony_ci "hostname": "example.org", 4021cb0ef41Sopenharmony_ci "port": "", 4031cb0ef41Sopenharmony_ci "pathname": "/foo/:/", 4041cb0ef41Sopenharmony_ci "search": "", 4051cb0ef41Sopenharmony_ci "hash": "" 4061cb0ef41Sopenharmony_ci }, 4071cb0ef41Sopenharmony_ci { 4081cb0ef41Sopenharmony_ci "input": ":#", 4091cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4101cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:#", 4111cb0ef41Sopenharmony_ci "origin": "http://example.org", 4121cb0ef41Sopenharmony_ci "protocol": "http:", 4131cb0ef41Sopenharmony_ci "username": "", 4141cb0ef41Sopenharmony_ci "password": "", 4151cb0ef41Sopenharmony_ci "host": "example.org", 4161cb0ef41Sopenharmony_ci "hostname": "example.org", 4171cb0ef41Sopenharmony_ci "port": "", 4181cb0ef41Sopenharmony_ci "pathname": "/foo/:", 4191cb0ef41Sopenharmony_ci "search": "", 4201cb0ef41Sopenharmony_ci "hash": "" 4211cb0ef41Sopenharmony_ci }, 4221cb0ef41Sopenharmony_ci { 4231cb0ef41Sopenharmony_ci "input": "#", 4241cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4251cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar#", 4261cb0ef41Sopenharmony_ci "origin": "http://example.org", 4271cb0ef41Sopenharmony_ci "protocol": "http:", 4281cb0ef41Sopenharmony_ci "username": "", 4291cb0ef41Sopenharmony_ci "password": "", 4301cb0ef41Sopenharmony_ci "host": "example.org", 4311cb0ef41Sopenharmony_ci "hostname": "example.org", 4321cb0ef41Sopenharmony_ci "port": "", 4331cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 4341cb0ef41Sopenharmony_ci "search": "", 4351cb0ef41Sopenharmony_ci "hash": "" 4361cb0ef41Sopenharmony_ci }, 4371cb0ef41Sopenharmony_ci { 4381cb0ef41Sopenharmony_ci "input": "#/", 4391cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4401cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar#/", 4411cb0ef41Sopenharmony_ci "origin": "http://example.org", 4421cb0ef41Sopenharmony_ci "protocol": "http:", 4431cb0ef41Sopenharmony_ci "username": "", 4441cb0ef41Sopenharmony_ci "password": "", 4451cb0ef41Sopenharmony_ci "host": "example.org", 4461cb0ef41Sopenharmony_ci "hostname": "example.org", 4471cb0ef41Sopenharmony_ci "port": "", 4481cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 4491cb0ef41Sopenharmony_ci "search": "", 4501cb0ef41Sopenharmony_ci "hash": "#/" 4511cb0ef41Sopenharmony_ci }, 4521cb0ef41Sopenharmony_ci { 4531cb0ef41Sopenharmony_ci "input": "#\\", 4541cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4551cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar#\\", 4561cb0ef41Sopenharmony_ci "origin": "http://example.org", 4571cb0ef41Sopenharmony_ci "protocol": "http:", 4581cb0ef41Sopenharmony_ci "username": "", 4591cb0ef41Sopenharmony_ci "password": "", 4601cb0ef41Sopenharmony_ci "host": "example.org", 4611cb0ef41Sopenharmony_ci "hostname": "example.org", 4621cb0ef41Sopenharmony_ci "port": "", 4631cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 4641cb0ef41Sopenharmony_ci "search": "", 4651cb0ef41Sopenharmony_ci "hash": "#\\" 4661cb0ef41Sopenharmony_ci }, 4671cb0ef41Sopenharmony_ci { 4681cb0ef41Sopenharmony_ci "input": "#;?", 4691cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4701cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar#;?", 4711cb0ef41Sopenharmony_ci "origin": "http://example.org", 4721cb0ef41Sopenharmony_ci "protocol": "http:", 4731cb0ef41Sopenharmony_ci "username": "", 4741cb0ef41Sopenharmony_ci "password": "", 4751cb0ef41Sopenharmony_ci "host": "example.org", 4761cb0ef41Sopenharmony_ci "hostname": "example.org", 4771cb0ef41Sopenharmony_ci "port": "", 4781cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 4791cb0ef41Sopenharmony_ci "search": "", 4801cb0ef41Sopenharmony_ci "hash": "#;?" 4811cb0ef41Sopenharmony_ci }, 4821cb0ef41Sopenharmony_ci { 4831cb0ef41Sopenharmony_ci "input": "?", 4841cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 4851cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar?", 4861cb0ef41Sopenharmony_ci "origin": "http://example.org", 4871cb0ef41Sopenharmony_ci "protocol": "http:", 4881cb0ef41Sopenharmony_ci "username": "", 4891cb0ef41Sopenharmony_ci "password": "", 4901cb0ef41Sopenharmony_ci "host": "example.org", 4911cb0ef41Sopenharmony_ci "hostname": "example.org", 4921cb0ef41Sopenharmony_ci "port": "", 4931cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 4941cb0ef41Sopenharmony_ci "search": "", 4951cb0ef41Sopenharmony_ci "hash": "" 4961cb0ef41Sopenharmony_ci }, 4971cb0ef41Sopenharmony_ci { 4981cb0ef41Sopenharmony_ci "input": "/", 4991cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5001cb0ef41Sopenharmony_ci "href": "http://example.org/", 5011cb0ef41Sopenharmony_ci "origin": "http://example.org", 5021cb0ef41Sopenharmony_ci "protocol": "http:", 5031cb0ef41Sopenharmony_ci "username": "", 5041cb0ef41Sopenharmony_ci "password": "", 5051cb0ef41Sopenharmony_ci "host": "example.org", 5061cb0ef41Sopenharmony_ci "hostname": "example.org", 5071cb0ef41Sopenharmony_ci "port": "", 5081cb0ef41Sopenharmony_ci "pathname": "/", 5091cb0ef41Sopenharmony_ci "search": "", 5101cb0ef41Sopenharmony_ci "hash": "" 5111cb0ef41Sopenharmony_ci }, 5121cb0ef41Sopenharmony_ci { 5131cb0ef41Sopenharmony_ci "input": ":23", 5141cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5151cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:23", 5161cb0ef41Sopenharmony_ci "origin": "http://example.org", 5171cb0ef41Sopenharmony_ci "protocol": "http:", 5181cb0ef41Sopenharmony_ci "username": "", 5191cb0ef41Sopenharmony_ci "password": "", 5201cb0ef41Sopenharmony_ci "host": "example.org", 5211cb0ef41Sopenharmony_ci "hostname": "example.org", 5221cb0ef41Sopenharmony_ci "port": "", 5231cb0ef41Sopenharmony_ci "pathname": "/foo/:23", 5241cb0ef41Sopenharmony_ci "search": "", 5251cb0ef41Sopenharmony_ci "hash": "" 5261cb0ef41Sopenharmony_ci }, 5271cb0ef41Sopenharmony_ci { 5281cb0ef41Sopenharmony_ci "input": "/:23", 5291cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5301cb0ef41Sopenharmony_ci "href": "http://example.org/:23", 5311cb0ef41Sopenharmony_ci "origin": "http://example.org", 5321cb0ef41Sopenharmony_ci "protocol": "http:", 5331cb0ef41Sopenharmony_ci "username": "", 5341cb0ef41Sopenharmony_ci "password": "", 5351cb0ef41Sopenharmony_ci "host": "example.org", 5361cb0ef41Sopenharmony_ci "hostname": "example.org", 5371cb0ef41Sopenharmony_ci "port": "", 5381cb0ef41Sopenharmony_ci "pathname": "/:23", 5391cb0ef41Sopenharmony_ci "search": "", 5401cb0ef41Sopenharmony_ci "hash": "" 5411cb0ef41Sopenharmony_ci }, 5421cb0ef41Sopenharmony_ci { 5431cb0ef41Sopenharmony_ci "input": "\\x", 5441cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5451cb0ef41Sopenharmony_ci "href": "http://example.org/x", 5461cb0ef41Sopenharmony_ci "origin": "http://example.org", 5471cb0ef41Sopenharmony_ci "protocol": "http:", 5481cb0ef41Sopenharmony_ci "username": "", 5491cb0ef41Sopenharmony_ci "password": "", 5501cb0ef41Sopenharmony_ci "host": "example.org", 5511cb0ef41Sopenharmony_ci "hostname": "example.org", 5521cb0ef41Sopenharmony_ci "port": "", 5531cb0ef41Sopenharmony_ci "pathname": "/x", 5541cb0ef41Sopenharmony_ci "search": "", 5551cb0ef41Sopenharmony_ci "hash": "" 5561cb0ef41Sopenharmony_ci }, 5571cb0ef41Sopenharmony_ci { 5581cb0ef41Sopenharmony_ci "input": "\\\\x\\hello", 5591cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5601cb0ef41Sopenharmony_ci "href": "http://x/hello", 5611cb0ef41Sopenharmony_ci "origin": "http://x", 5621cb0ef41Sopenharmony_ci "protocol": "http:", 5631cb0ef41Sopenharmony_ci "username": "", 5641cb0ef41Sopenharmony_ci "password": "", 5651cb0ef41Sopenharmony_ci "host": "x", 5661cb0ef41Sopenharmony_ci "hostname": "x", 5671cb0ef41Sopenharmony_ci "port": "", 5681cb0ef41Sopenharmony_ci "pathname": "/hello", 5691cb0ef41Sopenharmony_ci "search": "", 5701cb0ef41Sopenharmony_ci "hash": "" 5711cb0ef41Sopenharmony_ci }, 5721cb0ef41Sopenharmony_ci { 5731cb0ef41Sopenharmony_ci "input": "::", 5741cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5751cb0ef41Sopenharmony_ci "href": "http://example.org/foo/::", 5761cb0ef41Sopenharmony_ci "origin": "http://example.org", 5771cb0ef41Sopenharmony_ci "protocol": "http:", 5781cb0ef41Sopenharmony_ci "username": "", 5791cb0ef41Sopenharmony_ci "password": "", 5801cb0ef41Sopenharmony_ci "host": "example.org", 5811cb0ef41Sopenharmony_ci "hostname": "example.org", 5821cb0ef41Sopenharmony_ci "port": "", 5831cb0ef41Sopenharmony_ci "pathname": "/foo/::", 5841cb0ef41Sopenharmony_ci "search": "", 5851cb0ef41Sopenharmony_ci "hash": "" 5861cb0ef41Sopenharmony_ci }, 5871cb0ef41Sopenharmony_ci { 5881cb0ef41Sopenharmony_ci "input": "::23", 5891cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 5901cb0ef41Sopenharmony_ci "href": "http://example.org/foo/::23", 5911cb0ef41Sopenharmony_ci "origin": "http://example.org", 5921cb0ef41Sopenharmony_ci "protocol": "http:", 5931cb0ef41Sopenharmony_ci "username": "", 5941cb0ef41Sopenharmony_ci "password": "", 5951cb0ef41Sopenharmony_ci "host": "example.org", 5961cb0ef41Sopenharmony_ci "hostname": "example.org", 5971cb0ef41Sopenharmony_ci "port": "", 5981cb0ef41Sopenharmony_ci "pathname": "/foo/::23", 5991cb0ef41Sopenharmony_ci "search": "", 6001cb0ef41Sopenharmony_ci "hash": "" 6011cb0ef41Sopenharmony_ci }, 6021cb0ef41Sopenharmony_ci { 6031cb0ef41Sopenharmony_ci "input": "foo://", 6041cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6051cb0ef41Sopenharmony_ci "href": "foo://", 6061cb0ef41Sopenharmony_ci "origin": "null", 6071cb0ef41Sopenharmony_ci "protocol": "foo:", 6081cb0ef41Sopenharmony_ci "username": "", 6091cb0ef41Sopenharmony_ci "password": "", 6101cb0ef41Sopenharmony_ci "host": "", 6111cb0ef41Sopenharmony_ci "hostname": "", 6121cb0ef41Sopenharmony_ci "port": "", 6131cb0ef41Sopenharmony_ci "pathname": "", 6141cb0ef41Sopenharmony_ci "search": "", 6151cb0ef41Sopenharmony_ci "hash": "" 6161cb0ef41Sopenharmony_ci }, 6171cb0ef41Sopenharmony_ci { 6181cb0ef41Sopenharmony_ci "input": "http://a:b@c:29/d", 6191cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6201cb0ef41Sopenharmony_ci "href": "http://a:b@c:29/d", 6211cb0ef41Sopenharmony_ci "origin": "http://c:29", 6221cb0ef41Sopenharmony_ci "protocol": "http:", 6231cb0ef41Sopenharmony_ci "username": "a", 6241cb0ef41Sopenharmony_ci "password": "b", 6251cb0ef41Sopenharmony_ci "host": "c:29", 6261cb0ef41Sopenharmony_ci "hostname": "c", 6271cb0ef41Sopenharmony_ci "port": "29", 6281cb0ef41Sopenharmony_ci "pathname": "/d", 6291cb0ef41Sopenharmony_ci "search": "", 6301cb0ef41Sopenharmony_ci "hash": "" 6311cb0ef41Sopenharmony_ci }, 6321cb0ef41Sopenharmony_ci { 6331cb0ef41Sopenharmony_ci "input": "http::@c:29", 6341cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6351cb0ef41Sopenharmony_ci "href": "http://example.org/foo/:@c:29", 6361cb0ef41Sopenharmony_ci "origin": "http://example.org", 6371cb0ef41Sopenharmony_ci "protocol": "http:", 6381cb0ef41Sopenharmony_ci "username": "", 6391cb0ef41Sopenharmony_ci "password": "", 6401cb0ef41Sopenharmony_ci "host": "example.org", 6411cb0ef41Sopenharmony_ci "hostname": "example.org", 6421cb0ef41Sopenharmony_ci "port": "", 6431cb0ef41Sopenharmony_ci "pathname": "/foo/:@c:29", 6441cb0ef41Sopenharmony_ci "search": "", 6451cb0ef41Sopenharmony_ci "hash": "" 6461cb0ef41Sopenharmony_ci }, 6471cb0ef41Sopenharmony_ci { 6481cb0ef41Sopenharmony_ci "input": "http://&a:foo(b]c@d:2/", 6491cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6501cb0ef41Sopenharmony_ci "href": "http://&a:foo(b%5Dc@d:2/", 6511cb0ef41Sopenharmony_ci "origin": "http://d:2", 6521cb0ef41Sopenharmony_ci "protocol": "http:", 6531cb0ef41Sopenharmony_ci "username": "&a", 6541cb0ef41Sopenharmony_ci "password": "foo(b%5Dc", 6551cb0ef41Sopenharmony_ci "host": "d:2", 6561cb0ef41Sopenharmony_ci "hostname": "d", 6571cb0ef41Sopenharmony_ci "port": "2", 6581cb0ef41Sopenharmony_ci "pathname": "/", 6591cb0ef41Sopenharmony_ci "search": "", 6601cb0ef41Sopenharmony_ci "hash": "" 6611cb0ef41Sopenharmony_ci }, 6621cb0ef41Sopenharmony_ci { 6631cb0ef41Sopenharmony_ci "input": "http://::@c@d:2", 6641cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6651cb0ef41Sopenharmony_ci "href": "http://:%3A%40c@d:2/", 6661cb0ef41Sopenharmony_ci "origin": "http://d:2", 6671cb0ef41Sopenharmony_ci "protocol": "http:", 6681cb0ef41Sopenharmony_ci "username": "", 6691cb0ef41Sopenharmony_ci "password": "%3A%40c", 6701cb0ef41Sopenharmony_ci "host": "d:2", 6711cb0ef41Sopenharmony_ci "hostname": "d", 6721cb0ef41Sopenharmony_ci "port": "2", 6731cb0ef41Sopenharmony_ci "pathname": "/", 6741cb0ef41Sopenharmony_ci "search": "", 6751cb0ef41Sopenharmony_ci "hash": "" 6761cb0ef41Sopenharmony_ci }, 6771cb0ef41Sopenharmony_ci { 6781cb0ef41Sopenharmony_ci "input": "http://foo.com:b@d/", 6791cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6801cb0ef41Sopenharmony_ci "href": "http://foo.com:b@d/", 6811cb0ef41Sopenharmony_ci "origin": "http://d", 6821cb0ef41Sopenharmony_ci "protocol": "http:", 6831cb0ef41Sopenharmony_ci "username": "foo.com", 6841cb0ef41Sopenharmony_ci "password": "b", 6851cb0ef41Sopenharmony_ci "host": "d", 6861cb0ef41Sopenharmony_ci "hostname": "d", 6871cb0ef41Sopenharmony_ci "port": "", 6881cb0ef41Sopenharmony_ci "pathname": "/", 6891cb0ef41Sopenharmony_ci "search": "", 6901cb0ef41Sopenharmony_ci "hash": "" 6911cb0ef41Sopenharmony_ci }, 6921cb0ef41Sopenharmony_ci { 6931cb0ef41Sopenharmony_ci "input": "http://foo.com/\\@", 6941cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 6951cb0ef41Sopenharmony_ci "href": "http://foo.com//@", 6961cb0ef41Sopenharmony_ci "origin": "http://foo.com", 6971cb0ef41Sopenharmony_ci "protocol": "http:", 6981cb0ef41Sopenharmony_ci "username": "", 6991cb0ef41Sopenharmony_ci "password": "", 7001cb0ef41Sopenharmony_ci "host": "foo.com", 7011cb0ef41Sopenharmony_ci "hostname": "foo.com", 7021cb0ef41Sopenharmony_ci "port": "", 7031cb0ef41Sopenharmony_ci "pathname": "//@", 7041cb0ef41Sopenharmony_ci "search": "", 7051cb0ef41Sopenharmony_ci "hash": "" 7061cb0ef41Sopenharmony_ci }, 7071cb0ef41Sopenharmony_ci { 7081cb0ef41Sopenharmony_ci "input": "http:\\\\foo.com\\", 7091cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7101cb0ef41Sopenharmony_ci "href": "http://foo.com/", 7111cb0ef41Sopenharmony_ci "origin": "http://foo.com", 7121cb0ef41Sopenharmony_ci "protocol": "http:", 7131cb0ef41Sopenharmony_ci "username": "", 7141cb0ef41Sopenharmony_ci "password": "", 7151cb0ef41Sopenharmony_ci "host": "foo.com", 7161cb0ef41Sopenharmony_ci "hostname": "foo.com", 7171cb0ef41Sopenharmony_ci "port": "", 7181cb0ef41Sopenharmony_ci "pathname": "/", 7191cb0ef41Sopenharmony_ci "search": "", 7201cb0ef41Sopenharmony_ci "hash": "" 7211cb0ef41Sopenharmony_ci }, 7221cb0ef41Sopenharmony_ci { 7231cb0ef41Sopenharmony_ci "input": "http:\\\\a\\b:c\\d@foo.com\\", 7241cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7251cb0ef41Sopenharmony_ci "href": "http://a/b:c/d@foo.com/", 7261cb0ef41Sopenharmony_ci "origin": "http://a", 7271cb0ef41Sopenharmony_ci "protocol": "http:", 7281cb0ef41Sopenharmony_ci "username": "", 7291cb0ef41Sopenharmony_ci "password": "", 7301cb0ef41Sopenharmony_ci "host": "a", 7311cb0ef41Sopenharmony_ci "hostname": "a", 7321cb0ef41Sopenharmony_ci "port": "", 7331cb0ef41Sopenharmony_ci "pathname": "/b:c/d@foo.com/", 7341cb0ef41Sopenharmony_ci "search": "", 7351cb0ef41Sopenharmony_ci "hash": "" 7361cb0ef41Sopenharmony_ci }, 7371cb0ef41Sopenharmony_ci { 7381cb0ef41Sopenharmony_ci "input": "foo:/", 7391cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7401cb0ef41Sopenharmony_ci "href": "foo:/", 7411cb0ef41Sopenharmony_ci "origin": "null", 7421cb0ef41Sopenharmony_ci "protocol": "foo:", 7431cb0ef41Sopenharmony_ci "username": "", 7441cb0ef41Sopenharmony_ci "password": "", 7451cb0ef41Sopenharmony_ci "host": "", 7461cb0ef41Sopenharmony_ci "hostname": "", 7471cb0ef41Sopenharmony_ci "port": "", 7481cb0ef41Sopenharmony_ci "pathname": "/", 7491cb0ef41Sopenharmony_ci "search": "", 7501cb0ef41Sopenharmony_ci "hash": "" 7511cb0ef41Sopenharmony_ci }, 7521cb0ef41Sopenharmony_ci { 7531cb0ef41Sopenharmony_ci "input": "foo:/bar.com/", 7541cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7551cb0ef41Sopenharmony_ci "href": "foo:/bar.com/", 7561cb0ef41Sopenharmony_ci "origin": "null", 7571cb0ef41Sopenharmony_ci "protocol": "foo:", 7581cb0ef41Sopenharmony_ci "username": "", 7591cb0ef41Sopenharmony_ci "password": "", 7601cb0ef41Sopenharmony_ci "host": "", 7611cb0ef41Sopenharmony_ci "hostname": "", 7621cb0ef41Sopenharmony_ci "port": "", 7631cb0ef41Sopenharmony_ci "pathname": "/bar.com/", 7641cb0ef41Sopenharmony_ci "search": "", 7651cb0ef41Sopenharmony_ci "hash": "" 7661cb0ef41Sopenharmony_ci }, 7671cb0ef41Sopenharmony_ci { 7681cb0ef41Sopenharmony_ci "input": "foo://///////", 7691cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7701cb0ef41Sopenharmony_ci "href": "foo://///////", 7711cb0ef41Sopenharmony_ci "origin": "null", 7721cb0ef41Sopenharmony_ci "protocol": "foo:", 7731cb0ef41Sopenharmony_ci "username": "", 7741cb0ef41Sopenharmony_ci "password": "", 7751cb0ef41Sopenharmony_ci "host": "", 7761cb0ef41Sopenharmony_ci "hostname": "", 7771cb0ef41Sopenharmony_ci "port": "", 7781cb0ef41Sopenharmony_ci "pathname": "///////", 7791cb0ef41Sopenharmony_ci "search": "", 7801cb0ef41Sopenharmony_ci "hash": "" 7811cb0ef41Sopenharmony_ci }, 7821cb0ef41Sopenharmony_ci { 7831cb0ef41Sopenharmony_ci "input": "foo://///////bar.com/", 7841cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 7851cb0ef41Sopenharmony_ci "href": "foo://///////bar.com/", 7861cb0ef41Sopenharmony_ci "origin": "null", 7871cb0ef41Sopenharmony_ci "protocol": "foo:", 7881cb0ef41Sopenharmony_ci "username": "", 7891cb0ef41Sopenharmony_ci "password": "", 7901cb0ef41Sopenharmony_ci "host": "", 7911cb0ef41Sopenharmony_ci "hostname": "", 7921cb0ef41Sopenharmony_ci "port": "", 7931cb0ef41Sopenharmony_ci "pathname": "///////bar.com/", 7941cb0ef41Sopenharmony_ci "search": "", 7951cb0ef41Sopenharmony_ci "hash": "" 7961cb0ef41Sopenharmony_ci }, 7971cb0ef41Sopenharmony_ci { 7981cb0ef41Sopenharmony_ci "input": "foo:////://///", 7991cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8001cb0ef41Sopenharmony_ci "href": "foo:////://///", 8011cb0ef41Sopenharmony_ci "origin": "null", 8021cb0ef41Sopenharmony_ci "protocol": "foo:", 8031cb0ef41Sopenharmony_ci "username": "", 8041cb0ef41Sopenharmony_ci "password": "", 8051cb0ef41Sopenharmony_ci "host": "", 8061cb0ef41Sopenharmony_ci "hostname": "", 8071cb0ef41Sopenharmony_ci "port": "", 8081cb0ef41Sopenharmony_ci "pathname": "//://///", 8091cb0ef41Sopenharmony_ci "search": "", 8101cb0ef41Sopenharmony_ci "hash": "" 8111cb0ef41Sopenharmony_ci }, 8121cb0ef41Sopenharmony_ci { 8131cb0ef41Sopenharmony_ci "input": "c:/foo", 8141cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8151cb0ef41Sopenharmony_ci "href": "c:/foo", 8161cb0ef41Sopenharmony_ci "origin": "null", 8171cb0ef41Sopenharmony_ci "protocol": "c:", 8181cb0ef41Sopenharmony_ci "username": "", 8191cb0ef41Sopenharmony_ci "password": "", 8201cb0ef41Sopenharmony_ci "host": "", 8211cb0ef41Sopenharmony_ci "hostname": "", 8221cb0ef41Sopenharmony_ci "port": "", 8231cb0ef41Sopenharmony_ci "pathname": "/foo", 8241cb0ef41Sopenharmony_ci "search": "", 8251cb0ef41Sopenharmony_ci "hash": "" 8261cb0ef41Sopenharmony_ci }, 8271cb0ef41Sopenharmony_ci { 8281cb0ef41Sopenharmony_ci "input": "//foo/bar", 8291cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8301cb0ef41Sopenharmony_ci "href": "http://foo/bar", 8311cb0ef41Sopenharmony_ci "origin": "http://foo", 8321cb0ef41Sopenharmony_ci "protocol": "http:", 8331cb0ef41Sopenharmony_ci "username": "", 8341cb0ef41Sopenharmony_ci "password": "", 8351cb0ef41Sopenharmony_ci "host": "foo", 8361cb0ef41Sopenharmony_ci "hostname": "foo", 8371cb0ef41Sopenharmony_ci "port": "", 8381cb0ef41Sopenharmony_ci "pathname": "/bar", 8391cb0ef41Sopenharmony_ci "search": "", 8401cb0ef41Sopenharmony_ci "hash": "" 8411cb0ef41Sopenharmony_ci }, 8421cb0ef41Sopenharmony_ci { 8431cb0ef41Sopenharmony_ci "input": "http://foo/path;a??e#f#g", 8441cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8451cb0ef41Sopenharmony_ci "href": "http://foo/path;a??e#f#g", 8461cb0ef41Sopenharmony_ci "origin": "http://foo", 8471cb0ef41Sopenharmony_ci "protocol": "http:", 8481cb0ef41Sopenharmony_ci "username": "", 8491cb0ef41Sopenharmony_ci "password": "", 8501cb0ef41Sopenharmony_ci "host": "foo", 8511cb0ef41Sopenharmony_ci "hostname": "foo", 8521cb0ef41Sopenharmony_ci "port": "", 8531cb0ef41Sopenharmony_ci "pathname": "/path;a", 8541cb0ef41Sopenharmony_ci "search": "??e", 8551cb0ef41Sopenharmony_ci "hash": "#f#g" 8561cb0ef41Sopenharmony_ci }, 8571cb0ef41Sopenharmony_ci { 8581cb0ef41Sopenharmony_ci "input": "http://foo/abcd?efgh?ijkl", 8591cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8601cb0ef41Sopenharmony_ci "href": "http://foo/abcd?efgh?ijkl", 8611cb0ef41Sopenharmony_ci "origin": "http://foo", 8621cb0ef41Sopenharmony_ci "protocol": "http:", 8631cb0ef41Sopenharmony_ci "username": "", 8641cb0ef41Sopenharmony_ci "password": "", 8651cb0ef41Sopenharmony_ci "host": "foo", 8661cb0ef41Sopenharmony_ci "hostname": "foo", 8671cb0ef41Sopenharmony_ci "port": "", 8681cb0ef41Sopenharmony_ci "pathname": "/abcd", 8691cb0ef41Sopenharmony_ci "search": "?efgh?ijkl", 8701cb0ef41Sopenharmony_ci "hash": "" 8711cb0ef41Sopenharmony_ci }, 8721cb0ef41Sopenharmony_ci { 8731cb0ef41Sopenharmony_ci "input": "http://foo/abcd#foo?bar", 8741cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8751cb0ef41Sopenharmony_ci "href": "http://foo/abcd#foo?bar", 8761cb0ef41Sopenharmony_ci "origin": "http://foo", 8771cb0ef41Sopenharmony_ci "protocol": "http:", 8781cb0ef41Sopenharmony_ci "username": "", 8791cb0ef41Sopenharmony_ci "password": "", 8801cb0ef41Sopenharmony_ci "host": "foo", 8811cb0ef41Sopenharmony_ci "hostname": "foo", 8821cb0ef41Sopenharmony_ci "port": "", 8831cb0ef41Sopenharmony_ci "pathname": "/abcd", 8841cb0ef41Sopenharmony_ci "search": "", 8851cb0ef41Sopenharmony_ci "hash": "#foo?bar" 8861cb0ef41Sopenharmony_ci }, 8871cb0ef41Sopenharmony_ci { 8881cb0ef41Sopenharmony_ci "input": "[61:24:74]:98", 8891cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 8901cb0ef41Sopenharmony_ci "href": "http://example.org/foo/[61:24:74]:98", 8911cb0ef41Sopenharmony_ci "origin": "http://example.org", 8921cb0ef41Sopenharmony_ci "protocol": "http:", 8931cb0ef41Sopenharmony_ci "username": "", 8941cb0ef41Sopenharmony_ci "password": "", 8951cb0ef41Sopenharmony_ci "host": "example.org", 8961cb0ef41Sopenharmony_ci "hostname": "example.org", 8971cb0ef41Sopenharmony_ci "port": "", 8981cb0ef41Sopenharmony_ci "pathname": "/foo/[61:24:74]:98", 8991cb0ef41Sopenharmony_ci "search": "", 9001cb0ef41Sopenharmony_ci "hash": "" 9011cb0ef41Sopenharmony_ci }, 9021cb0ef41Sopenharmony_ci { 9031cb0ef41Sopenharmony_ci "input": "http:[61:27]/:foo", 9041cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9051cb0ef41Sopenharmony_ci "href": "http://example.org/foo/[61:27]/:foo", 9061cb0ef41Sopenharmony_ci "origin": "http://example.org", 9071cb0ef41Sopenharmony_ci "protocol": "http:", 9081cb0ef41Sopenharmony_ci "username": "", 9091cb0ef41Sopenharmony_ci "password": "", 9101cb0ef41Sopenharmony_ci "host": "example.org", 9111cb0ef41Sopenharmony_ci "hostname": "example.org", 9121cb0ef41Sopenharmony_ci "port": "", 9131cb0ef41Sopenharmony_ci "pathname": "/foo/[61:27]/:foo", 9141cb0ef41Sopenharmony_ci "search": "", 9151cb0ef41Sopenharmony_ci "hash": "" 9161cb0ef41Sopenharmony_ci }, 9171cb0ef41Sopenharmony_ci { 9181cb0ef41Sopenharmony_ci "input": "http://[1::2]:3:4", 9191cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9201cb0ef41Sopenharmony_ci "failure": true 9211cb0ef41Sopenharmony_ci }, 9221cb0ef41Sopenharmony_ci { 9231cb0ef41Sopenharmony_ci "input": "http://2001::1", 9241cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9251cb0ef41Sopenharmony_ci "failure": true 9261cb0ef41Sopenharmony_ci }, 9271cb0ef41Sopenharmony_ci { 9281cb0ef41Sopenharmony_ci "input": "http://2001::1]", 9291cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9301cb0ef41Sopenharmony_ci "failure": true 9311cb0ef41Sopenharmony_ci }, 9321cb0ef41Sopenharmony_ci { 9331cb0ef41Sopenharmony_ci "input": "http://2001::1]:80", 9341cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9351cb0ef41Sopenharmony_ci "failure": true 9361cb0ef41Sopenharmony_ci }, 9371cb0ef41Sopenharmony_ci { 9381cb0ef41Sopenharmony_ci "input": "http://[2001::1]", 9391cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9401cb0ef41Sopenharmony_ci "href": "http://[2001::1]/", 9411cb0ef41Sopenharmony_ci "origin": "http://[2001::1]", 9421cb0ef41Sopenharmony_ci "protocol": "http:", 9431cb0ef41Sopenharmony_ci "username": "", 9441cb0ef41Sopenharmony_ci "password": "", 9451cb0ef41Sopenharmony_ci "host": "[2001::1]", 9461cb0ef41Sopenharmony_ci "hostname": "[2001::1]", 9471cb0ef41Sopenharmony_ci "port": "", 9481cb0ef41Sopenharmony_ci "pathname": "/", 9491cb0ef41Sopenharmony_ci "search": "", 9501cb0ef41Sopenharmony_ci "hash": "" 9511cb0ef41Sopenharmony_ci }, 9521cb0ef41Sopenharmony_ci { 9531cb0ef41Sopenharmony_ci "input": "http://[::127.0.0.1]", 9541cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9551cb0ef41Sopenharmony_ci "href": "http://[::7f00:1]/", 9561cb0ef41Sopenharmony_ci "origin": "http://[::7f00:1]", 9571cb0ef41Sopenharmony_ci "protocol": "http:", 9581cb0ef41Sopenharmony_ci "username": "", 9591cb0ef41Sopenharmony_ci "password": "", 9601cb0ef41Sopenharmony_ci "host": "[::7f00:1]", 9611cb0ef41Sopenharmony_ci "hostname": "[::7f00:1]", 9621cb0ef41Sopenharmony_ci "port": "", 9631cb0ef41Sopenharmony_ci "pathname": "/", 9641cb0ef41Sopenharmony_ci "search": "", 9651cb0ef41Sopenharmony_ci "hash": "" 9661cb0ef41Sopenharmony_ci }, 9671cb0ef41Sopenharmony_ci { 9681cb0ef41Sopenharmony_ci "input": "http://[::127.0.0.1.]", 9691cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9701cb0ef41Sopenharmony_ci "failure": true 9711cb0ef41Sopenharmony_ci }, 9721cb0ef41Sopenharmony_ci { 9731cb0ef41Sopenharmony_ci "input": "http://[0:0:0:0:0:0:13.1.68.3]", 9741cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9751cb0ef41Sopenharmony_ci "href": "http://[::d01:4403]/", 9761cb0ef41Sopenharmony_ci "origin": "http://[::d01:4403]", 9771cb0ef41Sopenharmony_ci "protocol": "http:", 9781cb0ef41Sopenharmony_ci "username": "", 9791cb0ef41Sopenharmony_ci "password": "", 9801cb0ef41Sopenharmony_ci "host": "[::d01:4403]", 9811cb0ef41Sopenharmony_ci "hostname": "[::d01:4403]", 9821cb0ef41Sopenharmony_ci "port": "", 9831cb0ef41Sopenharmony_ci "pathname": "/", 9841cb0ef41Sopenharmony_ci "search": "", 9851cb0ef41Sopenharmony_ci "hash": "" 9861cb0ef41Sopenharmony_ci }, 9871cb0ef41Sopenharmony_ci { 9881cb0ef41Sopenharmony_ci "input": "http://[2001::1]:80", 9891cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 9901cb0ef41Sopenharmony_ci "href": "http://[2001::1]/", 9911cb0ef41Sopenharmony_ci "origin": "http://[2001::1]", 9921cb0ef41Sopenharmony_ci "protocol": "http:", 9931cb0ef41Sopenharmony_ci "username": "", 9941cb0ef41Sopenharmony_ci "password": "", 9951cb0ef41Sopenharmony_ci "host": "[2001::1]", 9961cb0ef41Sopenharmony_ci "hostname": "[2001::1]", 9971cb0ef41Sopenharmony_ci "port": "", 9981cb0ef41Sopenharmony_ci "pathname": "/", 9991cb0ef41Sopenharmony_ci "search": "", 10001cb0ef41Sopenharmony_ci "hash": "" 10011cb0ef41Sopenharmony_ci }, 10021cb0ef41Sopenharmony_ci { 10031cb0ef41Sopenharmony_ci "input": "http:/example.com/", 10041cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10051cb0ef41Sopenharmony_ci "href": "http://example.org/example.com/", 10061cb0ef41Sopenharmony_ci "origin": "http://example.org", 10071cb0ef41Sopenharmony_ci "protocol": "http:", 10081cb0ef41Sopenharmony_ci "username": "", 10091cb0ef41Sopenharmony_ci "password": "", 10101cb0ef41Sopenharmony_ci "host": "example.org", 10111cb0ef41Sopenharmony_ci "hostname": "example.org", 10121cb0ef41Sopenharmony_ci "port": "", 10131cb0ef41Sopenharmony_ci "pathname": "/example.com/", 10141cb0ef41Sopenharmony_ci "search": "", 10151cb0ef41Sopenharmony_ci "hash": "" 10161cb0ef41Sopenharmony_ci }, 10171cb0ef41Sopenharmony_ci { 10181cb0ef41Sopenharmony_ci "input": "ftp:/example.com/", 10191cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10201cb0ef41Sopenharmony_ci "href": "ftp://example.com/", 10211cb0ef41Sopenharmony_ci "origin": "ftp://example.com", 10221cb0ef41Sopenharmony_ci "protocol": "ftp:", 10231cb0ef41Sopenharmony_ci "username": "", 10241cb0ef41Sopenharmony_ci "password": "", 10251cb0ef41Sopenharmony_ci "host": "example.com", 10261cb0ef41Sopenharmony_ci "hostname": "example.com", 10271cb0ef41Sopenharmony_ci "port": "", 10281cb0ef41Sopenharmony_ci "pathname": "/", 10291cb0ef41Sopenharmony_ci "search": "", 10301cb0ef41Sopenharmony_ci "hash": "" 10311cb0ef41Sopenharmony_ci }, 10321cb0ef41Sopenharmony_ci { 10331cb0ef41Sopenharmony_ci "input": "https:/example.com/", 10341cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10351cb0ef41Sopenharmony_ci "href": "https://example.com/", 10361cb0ef41Sopenharmony_ci "origin": "https://example.com", 10371cb0ef41Sopenharmony_ci "protocol": "https:", 10381cb0ef41Sopenharmony_ci "username": "", 10391cb0ef41Sopenharmony_ci "password": "", 10401cb0ef41Sopenharmony_ci "host": "example.com", 10411cb0ef41Sopenharmony_ci "hostname": "example.com", 10421cb0ef41Sopenharmony_ci "port": "", 10431cb0ef41Sopenharmony_ci "pathname": "/", 10441cb0ef41Sopenharmony_ci "search": "", 10451cb0ef41Sopenharmony_ci "hash": "" 10461cb0ef41Sopenharmony_ci }, 10471cb0ef41Sopenharmony_ci { 10481cb0ef41Sopenharmony_ci "input": "madeupscheme:/example.com/", 10491cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10501cb0ef41Sopenharmony_ci "href": "madeupscheme:/example.com/", 10511cb0ef41Sopenharmony_ci "origin": "null", 10521cb0ef41Sopenharmony_ci "protocol": "madeupscheme:", 10531cb0ef41Sopenharmony_ci "username": "", 10541cb0ef41Sopenharmony_ci "password": "", 10551cb0ef41Sopenharmony_ci "host": "", 10561cb0ef41Sopenharmony_ci "hostname": "", 10571cb0ef41Sopenharmony_ci "port": "", 10581cb0ef41Sopenharmony_ci "pathname": "/example.com/", 10591cb0ef41Sopenharmony_ci "search": "", 10601cb0ef41Sopenharmony_ci "hash": "" 10611cb0ef41Sopenharmony_ci }, 10621cb0ef41Sopenharmony_ci { 10631cb0ef41Sopenharmony_ci "input": "file:/example.com/", 10641cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10651cb0ef41Sopenharmony_ci "href": "file:///example.com/", 10661cb0ef41Sopenharmony_ci "protocol": "file:", 10671cb0ef41Sopenharmony_ci "username": "", 10681cb0ef41Sopenharmony_ci "password": "", 10691cb0ef41Sopenharmony_ci "host": "", 10701cb0ef41Sopenharmony_ci "hostname": "", 10711cb0ef41Sopenharmony_ci "port": "", 10721cb0ef41Sopenharmony_ci "pathname": "/example.com/", 10731cb0ef41Sopenharmony_ci "search": "", 10741cb0ef41Sopenharmony_ci "hash": "" 10751cb0ef41Sopenharmony_ci }, 10761cb0ef41Sopenharmony_ci { 10771cb0ef41Sopenharmony_ci "input": "file://example:1/", 10781cb0ef41Sopenharmony_ci "base": null, 10791cb0ef41Sopenharmony_ci "failure": true 10801cb0ef41Sopenharmony_ci }, 10811cb0ef41Sopenharmony_ci { 10821cb0ef41Sopenharmony_ci "input": "file://example:test/", 10831cb0ef41Sopenharmony_ci "base": null, 10841cb0ef41Sopenharmony_ci "failure": true 10851cb0ef41Sopenharmony_ci }, 10861cb0ef41Sopenharmony_ci { 10871cb0ef41Sopenharmony_ci "input": "file://example%/", 10881cb0ef41Sopenharmony_ci "base": null, 10891cb0ef41Sopenharmony_ci "failure": true 10901cb0ef41Sopenharmony_ci }, 10911cb0ef41Sopenharmony_ci { 10921cb0ef41Sopenharmony_ci "input": "file://[example]/", 10931cb0ef41Sopenharmony_ci "base": null, 10941cb0ef41Sopenharmony_ci "failure": true 10951cb0ef41Sopenharmony_ci }, 10961cb0ef41Sopenharmony_ci { 10971cb0ef41Sopenharmony_ci "input": "ftps:/example.com/", 10981cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 10991cb0ef41Sopenharmony_ci "href": "ftps:/example.com/", 11001cb0ef41Sopenharmony_ci "origin": "null", 11011cb0ef41Sopenharmony_ci "protocol": "ftps:", 11021cb0ef41Sopenharmony_ci "username": "", 11031cb0ef41Sopenharmony_ci "password": "", 11041cb0ef41Sopenharmony_ci "host": "", 11051cb0ef41Sopenharmony_ci "hostname": "", 11061cb0ef41Sopenharmony_ci "port": "", 11071cb0ef41Sopenharmony_ci "pathname": "/example.com/", 11081cb0ef41Sopenharmony_ci "search": "", 11091cb0ef41Sopenharmony_ci "hash": "" 11101cb0ef41Sopenharmony_ci }, 11111cb0ef41Sopenharmony_ci { 11121cb0ef41Sopenharmony_ci "input": "gopher:/example.com/", 11131cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11141cb0ef41Sopenharmony_ci "href": "gopher:/example.com/", 11151cb0ef41Sopenharmony_ci "origin": "null", 11161cb0ef41Sopenharmony_ci "protocol": "gopher:", 11171cb0ef41Sopenharmony_ci "username": "", 11181cb0ef41Sopenharmony_ci "password": "", 11191cb0ef41Sopenharmony_ci "host": "", 11201cb0ef41Sopenharmony_ci "hostname": "", 11211cb0ef41Sopenharmony_ci "port": "", 11221cb0ef41Sopenharmony_ci "pathname": "/example.com/", 11231cb0ef41Sopenharmony_ci "search": "", 11241cb0ef41Sopenharmony_ci "hash": "" 11251cb0ef41Sopenharmony_ci }, 11261cb0ef41Sopenharmony_ci { 11271cb0ef41Sopenharmony_ci "input": "ws:/example.com/", 11281cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11291cb0ef41Sopenharmony_ci "href": "ws://example.com/", 11301cb0ef41Sopenharmony_ci "origin": "ws://example.com", 11311cb0ef41Sopenharmony_ci "protocol": "ws:", 11321cb0ef41Sopenharmony_ci "username": "", 11331cb0ef41Sopenharmony_ci "password": "", 11341cb0ef41Sopenharmony_ci "host": "example.com", 11351cb0ef41Sopenharmony_ci "hostname": "example.com", 11361cb0ef41Sopenharmony_ci "port": "", 11371cb0ef41Sopenharmony_ci "pathname": "/", 11381cb0ef41Sopenharmony_ci "search": "", 11391cb0ef41Sopenharmony_ci "hash": "" 11401cb0ef41Sopenharmony_ci }, 11411cb0ef41Sopenharmony_ci { 11421cb0ef41Sopenharmony_ci "input": "wss:/example.com/", 11431cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11441cb0ef41Sopenharmony_ci "href": "wss://example.com/", 11451cb0ef41Sopenharmony_ci "origin": "wss://example.com", 11461cb0ef41Sopenharmony_ci "protocol": "wss:", 11471cb0ef41Sopenharmony_ci "username": "", 11481cb0ef41Sopenharmony_ci "password": "", 11491cb0ef41Sopenharmony_ci "host": "example.com", 11501cb0ef41Sopenharmony_ci "hostname": "example.com", 11511cb0ef41Sopenharmony_ci "port": "", 11521cb0ef41Sopenharmony_ci "pathname": "/", 11531cb0ef41Sopenharmony_ci "search": "", 11541cb0ef41Sopenharmony_ci "hash": "" 11551cb0ef41Sopenharmony_ci }, 11561cb0ef41Sopenharmony_ci { 11571cb0ef41Sopenharmony_ci "input": "data:/example.com/", 11581cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11591cb0ef41Sopenharmony_ci "href": "data:/example.com/", 11601cb0ef41Sopenharmony_ci "origin": "null", 11611cb0ef41Sopenharmony_ci "protocol": "data:", 11621cb0ef41Sopenharmony_ci "username": "", 11631cb0ef41Sopenharmony_ci "password": "", 11641cb0ef41Sopenharmony_ci "host": "", 11651cb0ef41Sopenharmony_ci "hostname": "", 11661cb0ef41Sopenharmony_ci "port": "", 11671cb0ef41Sopenharmony_ci "pathname": "/example.com/", 11681cb0ef41Sopenharmony_ci "search": "", 11691cb0ef41Sopenharmony_ci "hash": "" 11701cb0ef41Sopenharmony_ci }, 11711cb0ef41Sopenharmony_ci { 11721cb0ef41Sopenharmony_ci "input": "javascript:/example.com/", 11731cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11741cb0ef41Sopenharmony_ci "href": "javascript:/example.com/", 11751cb0ef41Sopenharmony_ci "origin": "null", 11761cb0ef41Sopenharmony_ci "protocol": "javascript:", 11771cb0ef41Sopenharmony_ci "username": "", 11781cb0ef41Sopenharmony_ci "password": "", 11791cb0ef41Sopenharmony_ci "host": "", 11801cb0ef41Sopenharmony_ci "hostname": "", 11811cb0ef41Sopenharmony_ci "port": "", 11821cb0ef41Sopenharmony_ci "pathname": "/example.com/", 11831cb0ef41Sopenharmony_ci "search": "", 11841cb0ef41Sopenharmony_ci "hash": "" 11851cb0ef41Sopenharmony_ci }, 11861cb0ef41Sopenharmony_ci { 11871cb0ef41Sopenharmony_ci "input": "mailto:/example.com/", 11881cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 11891cb0ef41Sopenharmony_ci "href": "mailto:/example.com/", 11901cb0ef41Sopenharmony_ci "origin": "null", 11911cb0ef41Sopenharmony_ci "protocol": "mailto:", 11921cb0ef41Sopenharmony_ci "username": "", 11931cb0ef41Sopenharmony_ci "password": "", 11941cb0ef41Sopenharmony_ci "host": "", 11951cb0ef41Sopenharmony_ci "hostname": "", 11961cb0ef41Sopenharmony_ci "port": "", 11971cb0ef41Sopenharmony_ci "pathname": "/example.com/", 11981cb0ef41Sopenharmony_ci "search": "", 11991cb0ef41Sopenharmony_ci "hash": "" 12001cb0ef41Sopenharmony_ci }, 12011cb0ef41Sopenharmony_ci { 12021cb0ef41Sopenharmony_ci "input": "http:example.com/", 12031cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12041cb0ef41Sopenharmony_ci "href": "http://example.org/foo/example.com/", 12051cb0ef41Sopenharmony_ci "origin": "http://example.org", 12061cb0ef41Sopenharmony_ci "protocol": "http:", 12071cb0ef41Sopenharmony_ci "username": "", 12081cb0ef41Sopenharmony_ci "password": "", 12091cb0ef41Sopenharmony_ci "host": "example.org", 12101cb0ef41Sopenharmony_ci "hostname": "example.org", 12111cb0ef41Sopenharmony_ci "port": "", 12121cb0ef41Sopenharmony_ci "pathname": "/foo/example.com/", 12131cb0ef41Sopenharmony_ci "search": "", 12141cb0ef41Sopenharmony_ci "hash": "" 12151cb0ef41Sopenharmony_ci }, 12161cb0ef41Sopenharmony_ci { 12171cb0ef41Sopenharmony_ci "input": "ftp:example.com/", 12181cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12191cb0ef41Sopenharmony_ci "href": "ftp://example.com/", 12201cb0ef41Sopenharmony_ci "origin": "ftp://example.com", 12211cb0ef41Sopenharmony_ci "protocol": "ftp:", 12221cb0ef41Sopenharmony_ci "username": "", 12231cb0ef41Sopenharmony_ci "password": "", 12241cb0ef41Sopenharmony_ci "host": "example.com", 12251cb0ef41Sopenharmony_ci "hostname": "example.com", 12261cb0ef41Sopenharmony_ci "port": "", 12271cb0ef41Sopenharmony_ci "pathname": "/", 12281cb0ef41Sopenharmony_ci "search": "", 12291cb0ef41Sopenharmony_ci "hash": "" 12301cb0ef41Sopenharmony_ci }, 12311cb0ef41Sopenharmony_ci { 12321cb0ef41Sopenharmony_ci "input": "https:example.com/", 12331cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12341cb0ef41Sopenharmony_ci "href": "https://example.com/", 12351cb0ef41Sopenharmony_ci "origin": "https://example.com", 12361cb0ef41Sopenharmony_ci "protocol": "https:", 12371cb0ef41Sopenharmony_ci "username": "", 12381cb0ef41Sopenharmony_ci "password": "", 12391cb0ef41Sopenharmony_ci "host": "example.com", 12401cb0ef41Sopenharmony_ci "hostname": "example.com", 12411cb0ef41Sopenharmony_ci "port": "", 12421cb0ef41Sopenharmony_ci "pathname": "/", 12431cb0ef41Sopenharmony_ci "search": "", 12441cb0ef41Sopenharmony_ci "hash": "" 12451cb0ef41Sopenharmony_ci }, 12461cb0ef41Sopenharmony_ci { 12471cb0ef41Sopenharmony_ci "input": "madeupscheme:example.com/", 12481cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12491cb0ef41Sopenharmony_ci "href": "madeupscheme:example.com/", 12501cb0ef41Sopenharmony_ci "origin": "null", 12511cb0ef41Sopenharmony_ci "protocol": "madeupscheme:", 12521cb0ef41Sopenharmony_ci "username": "", 12531cb0ef41Sopenharmony_ci "password": "", 12541cb0ef41Sopenharmony_ci "host": "", 12551cb0ef41Sopenharmony_ci "hostname": "", 12561cb0ef41Sopenharmony_ci "port": "", 12571cb0ef41Sopenharmony_ci "pathname": "example.com/", 12581cb0ef41Sopenharmony_ci "search": "", 12591cb0ef41Sopenharmony_ci "hash": "" 12601cb0ef41Sopenharmony_ci }, 12611cb0ef41Sopenharmony_ci { 12621cb0ef41Sopenharmony_ci "input": "ftps:example.com/", 12631cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12641cb0ef41Sopenharmony_ci "href": "ftps:example.com/", 12651cb0ef41Sopenharmony_ci "origin": "null", 12661cb0ef41Sopenharmony_ci "protocol": "ftps:", 12671cb0ef41Sopenharmony_ci "username": "", 12681cb0ef41Sopenharmony_ci "password": "", 12691cb0ef41Sopenharmony_ci "host": "", 12701cb0ef41Sopenharmony_ci "hostname": "", 12711cb0ef41Sopenharmony_ci "port": "", 12721cb0ef41Sopenharmony_ci "pathname": "example.com/", 12731cb0ef41Sopenharmony_ci "search": "", 12741cb0ef41Sopenharmony_ci "hash": "" 12751cb0ef41Sopenharmony_ci }, 12761cb0ef41Sopenharmony_ci { 12771cb0ef41Sopenharmony_ci "input": "gopher:example.com/", 12781cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12791cb0ef41Sopenharmony_ci "href": "gopher:example.com/", 12801cb0ef41Sopenharmony_ci "origin": "null", 12811cb0ef41Sopenharmony_ci "protocol": "gopher:", 12821cb0ef41Sopenharmony_ci "username": "", 12831cb0ef41Sopenharmony_ci "password": "", 12841cb0ef41Sopenharmony_ci "host": "", 12851cb0ef41Sopenharmony_ci "hostname": "", 12861cb0ef41Sopenharmony_ci "port": "", 12871cb0ef41Sopenharmony_ci "pathname": "example.com/", 12881cb0ef41Sopenharmony_ci "search": "", 12891cb0ef41Sopenharmony_ci "hash": "" 12901cb0ef41Sopenharmony_ci }, 12911cb0ef41Sopenharmony_ci { 12921cb0ef41Sopenharmony_ci "input": "ws:example.com/", 12931cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 12941cb0ef41Sopenharmony_ci "href": "ws://example.com/", 12951cb0ef41Sopenharmony_ci "origin": "ws://example.com", 12961cb0ef41Sopenharmony_ci "protocol": "ws:", 12971cb0ef41Sopenharmony_ci "username": "", 12981cb0ef41Sopenharmony_ci "password": "", 12991cb0ef41Sopenharmony_ci "host": "example.com", 13001cb0ef41Sopenharmony_ci "hostname": "example.com", 13011cb0ef41Sopenharmony_ci "port": "", 13021cb0ef41Sopenharmony_ci "pathname": "/", 13031cb0ef41Sopenharmony_ci "search": "", 13041cb0ef41Sopenharmony_ci "hash": "" 13051cb0ef41Sopenharmony_ci }, 13061cb0ef41Sopenharmony_ci { 13071cb0ef41Sopenharmony_ci "input": "wss:example.com/", 13081cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13091cb0ef41Sopenharmony_ci "href": "wss://example.com/", 13101cb0ef41Sopenharmony_ci "origin": "wss://example.com", 13111cb0ef41Sopenharmony_ci "protocol": "wss:", 13121cb0ef41Sopenharmony_ci "username": "", 13131cb0ef41Sopenharmony_ci "password": "", 13141cb0ef41Sopenharmony_ci "host": "example.com", 13151cb0ef41Sopenharmony_ci "hostname": "example.com", 13161cb0ef41Sopenharmony_ci "port": "", 13171cb0ef41Sopenharmony_ci "pathname": "/", 13181cb0ef41Sopenharmony_ci "search": "", 13191cb0ef41Sopenharmony_ci "hash": "" 13201cb0ef41Sopenharmony_ci }, 13211cb0ef41Sopenharmony_ci { 13221cb0ef41Sopenharmony_ci "input": "data:example.com/", 13231cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13241cb0ef41Sopenharmony_ci "href": "data:example.com/", 13251cb0ef41Sopenharmony_ci "origin": "null", 13261cb0ef41Sopenharmony_ci "protocol": "data:", 13271cb0ef41Sopenharmony_ci "username": "", 13281cb0ef41Sopenharmony_ci "password": "", 13291cb0ef41Sopenharmony_ci "host": "", 13301cb0ef41Sopenharmony_ci "hostname": "", 13311cb0ef41Sopenharmony_ci "port": "", 13321cb0ef41Sopenharmony_ci "pathname": "example.com/", 13331cb0ef41Sopenharmony_ci "search": "", 13341cb0ef41Sopenharmony_ci "hash": "" 13351cb0ef41Sopenharmony_ci }, 13361cb0ef41Sopenharmony_ci { 13371cb0ef41Sopenharmony_ci "input": "javascript:example.com/", 13381cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13391cb0ef41Sopenharmony_ci "href": "javascript:example.com/", 13401cb0ef41Sopenharmony_ci "origin": "null", 13411cb0ef41Sopenharmony_ci "protocol": "javascript:", 13421cb0ef41Sopenharmony_ci "username": "", 13431cb0ef41Sopenharmony_ci "password": "", 13441cb0ef41Sopenharmony_ci "host": "", 13451cb0ef41Sopenharmony_ci "hostname": "", 13461cb0ef41Sopenharmony_ci "port": "", 13471cb0ef41Sopenharmony_ci "pathname": "example.com/", 13481cb0ef41Sopenharmony_ci "search": "", 13491cb0ef41Sopenharmony_ci "hash": "" 13501cb0ef41Sopenharmony_ci }, 13511cb0ef41Sopenharmony_ci { 13521cb0ef41Sopenharmony_ci "input": "mailto:example.com/", 13531cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13541cb0ef41Sopenharmony_ci "href": "mailto:example.com/", 13551cb0ef41Sopenharmony_ci "origin": "null", 13561cb0ef41Sopenharmony_ci "protocol": "mailto:", 13571cb0ef41Sopenharmony_ci "username": "", 13581cb0ef41Sopenharmony_ci "password": "", 13591cb0ef41Sopenharmony_ci "host": "", 13601cb0ef41Sopenharmony_ci "hostname": "", 13611cb0ef41Sopenharmony_ci "port": "", 13621cb0ef41Sopenharmony_ci "pathname": "example.com/", 13631cb0ef41Sopenharmony_ci "search": "", 13641cb0ef41Sopenharmony_ci "hash": "" 13651cb0ef41Sopenharmony_ci }, 13661cb0ef41Sopenharmony_ci { 13671cb0ef41Sopenharmony_ci "input": "/a/b/c", 13681cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13691cb0ef41Sopenharmony_ci "href": "http://example.org/a/b/c", 13701cb0ef41Sopenharmony_ci "origin": "http://example.org", 13711cb0ef41Sopenharmony_ci "protocol": "http:", 13721cb0ef41Sopenharmony_ci "username": "", 13731cb0ef41Sopenharmony_ci "password": "", 13741cb0ef41Sopenharmony_ci "host": "example.org", 13751cb0ef41Sopenharmony_ci "hostname": "example.org", 13761cb0ef41Sopenharmony_ci "port": "", 13771cb0ef41Sopenharmony_ci "pathname": "/a/b/c", 13781cb0ef41Sopenharmony_ci "search": "", 13791cb0ef41Sopenharmony_ci "hash": "" 13801cb0ef41Sopenharmony_ci }, 13811cb0ef41Sopenharmony_ci { 13821cb0ef41Sopenharmony_ci "input": "/a/ /c", 13831cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13841cb0ef41Sopenharmony_ci "href": "http://example.org/a/%20/c", 13851cb0ef41Sopenharmony_ci "origin": "http://example.org", 13861cb0ef41Sopenharmony_ci "protocol": "http:", 13871cb0ef41Sopenharmony_ci "username": "", 13881cb0ef41Sopenharmony_ci "password": "", 13891cb0ef41Sopenharmony_ci "host": "example.org", 13901cb0ef41Sopenharmony_ci "hostname": "example.org", 13911cb0ef41Sopenharmony_ci "port": "", 13921cb0ef41Sopenharmony_ci "pathname": "/a/%20/c", 13931cb0ef41Sopenharmony_ci "search": "", 13941cb0ef41Sopenharmony_ci "hash": "" 13951cb0ef41Sopenharmony_ci }, 13961cb0ef41Sopenharmony_ci { 13971cb0ef41Sopenharmony_ci "input": "/a%2fc", 13981cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 13991cb0ef41Sopenharmony_ci "href": "http://example.org/a%2fc", 14001cb0ef41Sopenharmony_ci "origin": "http://example.org", 14011cb0ef41Sopenharmony_ci "protocol": "http:", 14021cb0ef41Sopenharmony_ci "username": "", 14031cb0ef41Sopenharmony_ci "password": "", 14041cb0ef41Sopenharmony_ci "host": "example.org", 14051cb0ef41Sopenharmony_ci "hostname": "example.org", 14061cb0ef41Sopenharmony_ci "port": "", 14071cb0ef41Sopenharmony_ci "pathname": "/a%2fc", 14081cb0ef41Sopenharmony_ci "search": "", 14091cb0ef41Sopenharmony_ci "hash": "" 14101cb0ef41Sopenharmony_ci }, 14111cb0ef41Sopenharmony_ci { 14121cb0ef41Sopenharmony_ci "input": "/a/%2f/c", 14131cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 14141cb0ef41Sopenharmony_ci "href": "http://example.org/a/%2f/c", 14151cb0ef41Sopenharmony_ci "origin": "http://example.org", 14161cb0ef41Sopenharmony_ci "protocol": "http:", 14171cb0ef41Sopenharmony_ci "username": "", 14181cb0ef41Sopenharmony_ci "password": "", 14191cb0ef41Sopenharmony_ci "host": "example.org", 14201cb0ef41Sopenharmony_ci "hostname": "example.org", 14211cb0ef41Sopenharmony_ci "port": "", 14221cb0ef41Sopenharmony_ci "pathname": "/a/%2f/c", 14231cb0ef41Sopenharmony_ci "search": "", 14241cb0ef41Sopenharmony_ci "hash": "" 14251cb0ef41Sopenharmony_ci }, 14261cb0ef41Sopenharmony_ci { 14271cb0ef41Sopenharmony_ci "input": "#β", 14281cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 14291cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar#%CE%B2", 14301cb0ef41Sopenharmony_ci "origin": "http://example.org", 14311cb0ef41Sopenharmony_ci "protocol": "http:", 14321cb0ef41Sopenharmony_ci "username": "", 14331cb0ef41Sopenharmony_ci "password": "", 14341cb0ef41Sopenharmony_ci "host": "example.org", 14351cb0ef41Sopenharmony_ci "hostname": "example.org", 14361cb0ef41Sopenharmony_ci "port": "", 14371cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 14381cb0ef41Sopenharmony_ci "search": "", 14391cb0ef41Sopenharmony_ci "hash": "#%CE%B2" 14401cb0ef41Sopenharmony_ci }, 14411cb0ef41Sopenharmony_ci { 14421cb0ef41Sopenharmony_ci "input": "data:text/html,test#test", 14431cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 14441cb0ef41Sopenharmony_ci "href": "data:text/html,test#test", 14451cb0ef41Sopenharmony_ci "origin": "null", 14461cb0ef41Sopenharmony_ci "protocol": "data:", 14471cb0ef41Sopenharmony_ci "username": "", 14481cb0ef41Sopenharmony_ci "password": "", 14491cb0ef41Sopenharmony_ci "host": "", 14501cb0ef41Sopenharmony_ci "hostname": "", 14511cb0ef41Sopenharmony_ci "port": "", 14521cb0ef41Sopenharmony_ci "pathname": "text/html,test", 14531cb0ef41Sopenharmony_ci "search": "", 14541cb0ef41Sopenharmony_ci "hash": "#test" 14551cb0ef41Sopenharmony_ci }, 14561cb0ef41Sopenharmony_ci { 14571cb0ef41Sopenharmony_ci "input": "tel:1234567890", 14581cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 14591cb0ef41Sopenharmony_ci "href": "tel:1234567890", 14601cb0ef41Sopenharmony_ci "origin": "null", 14611cb0ef41Sopenharmony_ci "protocol": "tel:", 14621cb0ef41Sopenharmony_ci "username": "", 14631cb0ef41Sopenharmony_ci "password": "", 14641cb0ef41Sopenharmony_ci "host": "", 14651cb0ef41Sopenharmony_ci "hostname": "", 14661cb0ef41Sopenharmony_ci "port": "", 14671cb0ef41Sopenharmony_ci "pathname": "1234567890", 14681cb0ef41Sopenharmony_ci "search": "", 14691cb0ef41Sopenharmony_ci "hash": "" 14701cb0ef41Sopenharmony_ci }, 14711cb0ef41Sopenharmony_ci "# Based on https://felixfbecker.github.io/whatwg-url-custom-host-repro/", 14721cb0ef41Sopenharmony_ci { 14731cb0ef41Sopenharmony_ci "input": "ssh://example.com/foo/bar.git", 14741cb0ef41Sopenharmony_ci "base": "http://example.org/", 14751cb0ef41Sopenharmony_ci "href": "ssh://example.com/foo/bar.git", 14761cb0ef41Sopenharmony_ci "origin": "null", 14771cb0ef41Sopenharmony_ci "protocol": "ssh:", 14781cb0ef41Sopenharmony_ci "username": "", 14791cb0ef41Sopenharmony_ci "password": "", 14801cb0ef41Sopenharmony_ci "host": "example.com", 14811cb0ef41Sopenharmony_ci "hostname": "example.com", 14821cb0ef41Sopenharmony_ci "port": "", 14831cb0ef41Sopenharmony_ci "pathname": "/foo/bar.git", 14841cb0ef41Sopenharmony_ci "search": "", 14851cb0ef41Sopenharmony_ci "hash": "" 14861cb0ef41Sopenharmony_ci }, 14871cb0ef41Sopenharmony_ci "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/file.html", 14881cb0ef41Sopenharmony_ci { 14891cb0ef41Sopenharmony_ci "input": "file:c:\\foo\\bar.html", 14901cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 14911cb0ef41Sopenharmony_ci "href": "file:///c:/foo/bar.html", 14921cb0ef41Sopenharmony_ci "protocol": "file:", 14931cb0ef41Sopenharmony_ci "username": "", 14941cb0ef41Sopenharmony_ci "password": "", 14951cb0ef41Sopenharmony_ci "host": "", 14961cb0ef41Sopenharmony_ci "hostname": "", 14971cb0ef41Sopenharmony_ci "port": "", 14981cb0ef41Sopenharmony_ci "pathname": "/c:/foo/bar.html", 14991cb0ef41Sopenharmony_ci "search": "", 15001cb0ef41Sopenharmony_ci "hash": "" 15011cb0ef41Sopenharmony_ci }, 15021cb0ef41Sopenharmony_ci { 15031cb0ef41Sopenharmony_ci "input": " File:c|////foo\\bar.html", 15041cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15051cb0ef41Sopenharmony_ci "href": "file:///c:////foo/bar.html", 15061cb0ef41Sopenharmony_ci "protocol": "file:", 15071cb0ef41Sopenharmony_ci "username": "", 15081cb0ef41Sopenharmony_ci "password": "", 15091cb0ef41Sopenharmony_ci "host": "", 15101cb0ef41Sopenharmony_ci "hostname": "", 15111cb0ef41Sopenharmony_ci "port": "", 15121cb0ef41Sopenharmony_ci "pathname": "/c:////foo/bar.html", 15131cb0ef41Sopenharmony_ci "search": "", 15141cb0ef41Sopenharmony_ci "hash": "" 15151cb0ef41Sopenharmony_ci }, 15161cb0ef41Sopenharmony_ci { 15171cb0ef41Sopenharmony_ci "input": "C|/foo/bar", 15181cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15191cb0ef41Sopenharmony_ci "href": "file:///C:/foo/bar", 15201cb0ef41Sopenharmony_ci "protocol": "file:", 15211cb0ef41Sopenharmony_ci "username": "", 15221cb0ef41Sopenharmony_ci "password": "", 15231cb0ef41Sopenharmony_ci "host": "", 15241cb0ef41Sopenharmony_ci "hostname": "", 15251cb0ef41Sopenharmony_ci "port": "", 15261cb0ef41Sopenharmony_ci "pathname": "/C:/foo/bar", 15271cb0ef41Sopenharmony_ci "search": "", 15281cb0ef41Sopenharmony_ci "hash": "" 15291cb0ef41Sopenharmony_ci }, 15301cb0ef41Sopenharmony_ci { 15311cb0ef41Sopenharmony_ci "input": "/C|\\foo\\bar", 15321cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15331cb0ef41Sopenharmony_ci "href": "file:///C:/foo/bar", 15341cb0ef41Sopenharmony_ci "protocol": "file:", 15351cb0ef41Sopenharmony_ci "username": "", 15361cb0ef41Sopenharmony_ci "password": "", 15371cb0ef41Sopenharmony_ci "host": "", 15381cb0ef41Sopenharmony_ci "hostname": "", 15391cb0ef41Sopenharmony_ci "port": "", 15401cb0ef41Sopenharmony_ci "pathname": "/C:/foo/bar", 15411cb0ef41Sopenharmony_ci "search": "", 15421cb0ef41Sopenharmony_ci "hash": "" 15431cb0ef41Sopenharmony_ci }, 15441cb0ef41Sopenharmony_ci { 15451cb0ef41Sopenharmony_ci "input": "//C|/foo/bar", 15461cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15471cb0ef41Sopenharmony_ci "href": "file:///C:/foo/bar", 15481cb0ef41Sopenharmony_ci "protocol": "file:", 15491cb0ef41Sopenharmony_ci "username": "", 15501cb0ef41Sopenharmony_ci "password": "", 15511cb0ef41Sopenharmony_ci "host": "", 15521cb0ef41Sopenharmony_ci "hostname": "", 15531cb0ef41Sopenharmony_ci "port": "", 15541cb0ef41Sopenharmony_ci "pathname": "/C:/foo/bar", 15551cb0ef41Sopenharmony_ci "search": "", 15561cb0ef41Sopenharmony_ci "hash": "" 15571cb0ef41Sopenharmony_ci }, 15581cb0ef41Sopenharmony_ci { 15591cb0ef41Sopenharmony_ci "input": "//server/file", 15601cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15611cb0ef41Sopenharmony_ci "href": "file://server/file", 15621cb0ef41Sopenharmony_ci "protocol": "file:", 15631cb0ef41Sopenharmony_ci "username": "", 15641cb0ef41Sopenharmony_ci "password": "", 15651cb0ef41Sopenharmony_ci "host": "server", 15661cb0ef41Sopenharmony_ci "hostname": "server", 15671cb0ef41Sopenharmony_ci "port": "", 15681cb0ef41Sopenharmony_ci "pathname": "/file", 15691cb0ef41Sopenharmony_ci "search": "", 15701cb0ef41Sopenharmony_ci "hash": "" 15711cb0ef41Sopenharmony_ci }, 15721cb0ef41Sopenharmony_ci { 15731cb0ef41Sopenharmony_ci "input": "\\\\server\\file", 15741cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15751cb0ef41Sopenharmony_ci "href": "file://server/file", 15761cb0ef41Sopenharmony_ci "protocol": "file:", 15771cb0ef41Sopenharmony_ci "username": "", 15781cb0ef41Sopenharmony_ci "password": "", 15791cb0ef41Sopenharmony_ci "host": "server", 15801cb0ef41Sopenharmony_ci "hostname": "server", 15811cb0ef41Sopenharmony_ci "port": "", 15821cb0ef41Sopenharmony_ci "pathname": "/file", 15831cb0ef41Sopenharmony_ci "search": "", 15841cb0ef41Sopenharmony_ci "hash": "" 15851cb0ef41Sopenharmony_ci }, 15861cb0ef41Sopenharmony_ci { 15871cb0ef41Sopenharmony_ci "input": "/\\server/file", 15881cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 15891cb0ef41Sopenharmony_ci "href": "file://server/file", 15901cb0ef41Sopenharmony_ci "protocol": "file:", 15911cb0ef41Sopenharmony_ci "username": "", 15921cb0ef41Sopenharmony_ci "password": "", 15931cb0ef41Sopenharmony_ci "host": "server", 15941cb0ef41Sopenharmony_ci "hostname": "server", 15951cb0ef41Sopenharmony_ci "port": "", 15961cb0ef41Sopenharmony_ci "pathname": "/file", 15971cb0ef41Sopenharmony_ci "search": "", 15981cb0ef41Sopenharmony_ci "hash": "" 15991cb0ef41Sopenharmony_ci }, 16001cb0ef41Sopenharmony_ci { 16011cb0ef41Sopenharmony_ci "input": "file:///foo/bar.txt", 16021cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16031cb0ef41Sopenharmony_ci "href": "file:///foo/bar.txt", 16041cb0ef41Sopenharmony_ci "protocol": "file:", 16051cb0ef41Sopenharmony_ci "username": "", 16061cb0ef41Sopenharmony_ci "password": "", 16071cb0ef41Sopenharmony_ci "host": "", 16081cb0ef41Sopenharmony_ci "hostname": "", 16091cb0ef41Sopenharmony_ci "port": "", 16101cb0ef41Sopenharmony_ci "pathname": "/foo/bar.txt", 16111cb0ef41Sopenharmony_ci "search": "", 16121cb0ef41Sopenharmony_ci "hash": "" 16131cb0ef41Sopenharmony_ci }, 16141cb0ef41Sopenharmony_ci { 16151cb0ef41Sopenharmony_ci "input": "file:///home/me", 16161cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16171cb0ef41Sopenharmony_ci "href": "file:///home/me", 16181cb0ef41Sopenharmony_ci "protocol": "file:", 16191cb0ef41Sopenharmony_ci "username": "", 16201cb0ef41Sopenharmony_ci "password": "", 16211cb0ef41Sopenharmony_ci "host": "", 16221cb0ef41Sopenharmony_ci "hostname": "", 16231cb0ef41Sopenharmony_ci "port": "", 16241cb0ef41Sopenharmony_ci "pathname": "/home/me", 16251cb0ef41Sopenharmony_ci "search": "", 16261cb0ef41Sopenharmony_ci "hash": "" 16271cb0ef41Sopenharmony_ci }, 16281cb0ef41Sopenharmony_ci { 16291cb0ef41Sopenharmony_ci "input": "//", 16301cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16311cb0ef41Sopenharmony_ci "href": "file:///", 16321cb0ef41Sopenharmony_ci "protocol": "file:", 16331cb0ef41Sopenharmony_ci "username": "", 16341cb0ef41Sopenharmony_ci "password": "", 16351cb0ef41Sopenharmony_ci "host": "", 16361cb0ef41Sopenharmony_ci "hostname": "", 16371cb0ef41Sopenharmony_ci "port": "", 16381cb0ef41Sopenharmony_ci "pathname": "/", 16391cb0ef41Sopenharmony_ci "search": "", 16401cb0ef41Sopenharmony_ci "hash": "" 16411cb0ef41Sopenharmony_ci }, 16421cb0ef41Sopenharmony_ci { 16431cb0ef41Sopenharmony_ci "input": "///", 16441cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16451cb0ef41Sopenharmony_ci "href": "file:///", 16461cb0ef41Sopenharmony_ci "protocol": "file:", 16471cb0ef41Sopenharmony_ci "username": "", 16481cb0ef41Sopenharmony_ci "password": "", 16491cb0ef41Sopenharmony_ci "host": "", 16501cb0ef41Sopenharmony_ci "hostname": "", 16511cb0ef41Sopenharmony_ci "port": "", 16521cb0ef41Sopenharmony_ci "pathname": "/", 16531cb0ef41Sopenharmony_ci "search": "", 16541cb0ef41Sopenharmony_ci "hash": "" 16551cb0ef41Sopenharmony_ci }, 16561cb0ef41Sopenharmony_ci { 16571cb0ef41Sopenharmony_ci "input": "///test", 16581cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16591cb0ef41Sopenharmony_ci "href": "file:///test", 16601cb0ef41Sopenharmony_ci "protocol": "file:", 16611cb0ef41Sopenharmony_ci "username": "", 16621cb0ef41Sopenharmony_ci "password": "", 16631cb0ef41Sopenharmony_ci "host": "", 16641cb0ef41Sopenharmony_ci "hostname": "", 16651cb0ef41Sopenharmony_ci "port": "", 16661cb0ef41Sopenharmony_ci "pathname": "/test", 16671cb0ef41Sopenharmony_ci "search": "", 16681cb0ef41Sopenharmony_ci "hash": "" 16691cb0ef41Sopenharmony_ci }, 16701cb0ef41Sopenharmony_ci { 16711cb0ef41Sopenharmony_ci "input": "file://test", 16721cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16731cb0ef41Sopenharmony_ci "href": "file://test/", 16741cb0ef41Sopenharmony_ci "protocol": "file:", 16751cb0ef41Sopenharmony_ci "username": "", 16761cb0ef41Sopenharmony_ci "password": "", 16771cb0ef41Sopenharmony_ci "host": "test", 16781cb0ef41Sopenharmony_ci "hostname": "test", 16791cb0ef41Sopenharmony_ci "port": "", 16801cb0ef41Sopenharmony_ci "pathname": "/", 16811cb0ef41Sopenharmony_ci "search": "", 16821cb0ef41Sopenharmony_ci "hash": "" 16831cb0ef41Sopenharmony_ci }, 16841cb0ef41Sopenharmony_ci { 16851cb0ef41Sopenharmony_ci "input": "file://localhost", 16861cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 16871cb0ef41Sopenharmony_ci "href": "file:///", 16881cb0ef41Sopenharmony_ci "protocol": "file:", 16891cb0ef41Sopenharmony_ci "username": "", 16901cb0ef41Sopenharmony_ci "password": "", 16911cb0ef41Sopenharmony_ci "host": "", 16921cb0ef41Sopenharmony_ci "hostname": "", 16931cb0ef41Sopenharmony_ci "port": "", 16941cb0ef41Sopenharmony_ci "pathname": "/", 16951cb0ef41Sopenharmony_ci "search": "", 16961cb0ef41Sopenharmony_ci "hash": "" 16971cb0ef41Sopenharmony_ci }, 16981cb0ef41Sopenharmony_ci { 16991cb0ef41Sopenharmony_ci "input": "file://localhost/", 17001cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 17011cb0ef41Sopenharmony_ci "href": "file:///", 17021cb0ef41Sopenharmony_ci "protocol": "file:", 17031cb0ef41Sopenharmony_ci "username": "", 17041cb0ef41Sopenharmony_ci "password": "", 17051cb0ef41Sopenharmony_ci "host": "", 17061cb0ef41Sopenharmony_ci "hostname": "", 17071cb0ef41Sopenharmony_ci "port": "", 17081cb0ef41Sopenharmony_ci "pathname": "/", 17091cb0ef41Sopenharmony_ci "search": "", 17101cb0ef41Sopenharmony_ci "hash": "" 17111cb0ef41Sopenharmony_ci }, 17121cb0ef41Sopenharmony_ci { 17131cb0ef41Sopenharmony_ci "input": "file://localhost/test", 17141cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 17151cb0ef41Sopenharmony_ci "href": "file:///test", 17161cb0ef41Sopenharmony_ci "protocol": "file:", 17171cb0ef41Sopenharmony_ci "username": "", 17181cb0ef41Sopenharmony_ci "password": "", 17191cb0ef41Sopenharmony_ci "host": "", 17201cb0ef41Sopenharmony_ci "hostname": "", 17211cb0ef41Sopenharmony_ci "port": "", 17221cb0ef41Sopenharmony_ci "pathname": "/test", 17231cb0ef41Sopenharmony_ci "search": "", 17241cb0ef41Sopenharmony_ci "hash": "" 17251cb0ef41Sopenharmony_ci }, 17261cb0ef41Sopenharmony_ci { 17271cb0ef41Sopenharmony_ci "input": "test", 17281cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 17291cb0ef41Sopenharmony_ci "href": "file:///tmp/mock/test", 17301cb0ef41Sopenharmony_ci "protocol": "file:", 17311cb0ef41Sopenharmony_ci "username": "", 17321cb0ef41Sopenharmony_ci "password": "", 17331cb0ef41Sopenharmony_ci "host": "", 17341cb0ef41Sopenharmony_ci "hostname": "", 17351cb0ef41Sopenharmony_ci "port": "", 17361cb0ef41Sopenharmony_ci "pathname": "/tmp/mock/test", 17371cb0ef41Sopenharmony_ci "search": "", 17381cb0ef41Sopenharmony_ci "hash": "" 17391cb0ef41Sopenharmony_ci }, 17401cb0ef41Sopenharmony_ci { 17411cb0ef41Sopenharmony_ci "input": "file:test", 17421cb0ef41Sopenharmony_ci "base": "file:///tmp/mock/path", 17431cb0ef41Sopenharmony_ci "href": "file:///tmp/mock/test", 17441cb0ef41Sopenharmony_ci "protocol": "file:", 17451cb0ef41Sopenharmony_ci "username": "", 17461cb0ef41Sopenharmony_ci "password": "", 17471cb0ef41Sopenharmony_ci "host": "", 17481cb0ef41Sopenharmony_ci "hostname": "", 17491cb0ef41Sopenharmony_ci "port": "", 17501cb0ef41Sopenharmony_ci "pathname": "/tmp/mock/test", 17511cb0ef41Sopenharmony_ci "search": "", 17521cb0ef41Sopenharmony_ci "hash": "" 17531cb0ef41Sopenharmony_ci }, 17541cb0ef41Sopenharmony_ci "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/path.js", 17551cb0ef41Sopenharmony_ci { 17561cb0ef41Sopenharmony_ci "input": "http://example.com/././foo", 17571cb0ef41Sopenharmony_ci "base": null, 17581cb0ef41Sopenharmony_ci "href": "http://example.com/foo", 17591cb0ef41Sopenharmony_ci "origin": "http://example.com", 17601cb0ef41Sopenharmony_ci "protocol": "http:", 17611cb0ef41Sopenharmony_ci "username": "", 17621cb0ef41Sopenharmony_ci "password": "", 17631cb0ef41Sopenharmony_ci "host": "example.com", 17641cb0ef41Sopenharmony_ci "hostname": "example.com", 17651cb0ef41Sopenharmony_ci "port": "", 17661cb0ef41Sopenharmony_ci "pathname": "/foo", 17671cb0ef41Sopenharmony_ci "search": "", 17681cb0ef41Sopenharmony_ci "hash": "" 17691cb0ef41Sopenharmony_ci }, 17701cb0ef41Sopenharmony_ci { 17711cb0ef41Sopenharmony_ci "input": "http://example.com/./.foo", 17721cb0ef41Sopenharmony_ci "base": null, 17731cb0ef41Sopenharmony_ci "href": "http://example.com/.foo", 17741cb0ef41Sopenharmony_ci "origin": "http://example.com", 17751cb0ef41Sopenharmony_ci "protocol": "http:", 17761cb0ef41Sopenharmony_ci "username": "", 17771cb0ef41Sopenharmony_ci "password": "", 17781cb0ef41Sopenharmony_ci "host": "example.com", 17791cb0ef41Sopenharmony_ci "hostname": "example.com", 17801cb0ef41Sopenharmony_ci "port": "", 17811cb0ef41Sopenharmony_ci "pathname": "/.foo", 17821cb0ef41Sopenharmony_ci "search": "", 17831cb0ef41Sopenharmony_ci "hash": "" 17841cb0ef41Sopenharmony_ci }, 17851cb0ef41Sopenharmony_ci { 17861cb0ef41Sopenharmony_ci "input": "http://example.com/foo/.", 17871cb0ef41Sopenharmony_ci "base": null, 17881cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 17891cb0ef41Sopenharmony_ci "origin": "http://example.com", 17901cb0ef41Sopenharmony_ci "protocol": "http:", 17911cb0ef41Sopenharmony_ci "username": "", 17921cb0ef41Sopenharmony_ci "password": "", 17931cb0ef41Sopenharmony_ci "host": "example.com", 17941cb0ef41Sopenharmony_ci "hostname": "example.com", 17951cb0ef41Sopenharmony_ci "port": "", 17961cb0ef41Sopenharmony_ci "pathname": "/foo/", 17971cb0ef41Sopenharmony_ci "search": "", 17981cb0ef41Sopenharmony_ci "hash": "" 17991cb0ef41Sopenharmony_ci }, 18001cb0ef41Sopenharmony_ci { 18011cb0ef41Sopenharmony_ci "input": "http://example.com/foo/./", 18021cb0ef41Sopenharmony_ci "base": null, 18031cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 18041cb0ef41Sopenharmony_ci "origin": "http://example.com", 18051cb0ef41Sopenharmony_ci "protocol": "http:", 18061cb0ef41Sopenharmony_ci "username": "", 18071cb0ef41Sopenharmony_ci "password": "", 18081cb0ef41Sopenharmony_ci "host": "example.com", 18091cb0ef41Sopenharmony_ci "hostname": "example.com", 18101cb0ef41Sopenharmony_ci "port": "", 18111cb0ef41Sopenharmony_ci "pathname": "/foo/", 18121cb0ef41Sopenharmony_ci "search": "", 18131cb0ef41Sopenharmony_ci "hash": "" 18141cb0ef41Sopenharmony_ci }, 18151cb0ef41Sopenharmony_ci { 18161cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar/..", 18171cb0ef41Sopenharmony_ci "base": null, 18181cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 18191cb0ef41Sopenharmony_ci "origin": "http://example.com", 18201cb0ef41Sopenharmony_ci "protocol": "http:", 18211cb0ef41Sopenharmony_ci "username": "", 18221cb0ef41Sopenharmony_ci "password": "", 18231cb0ef41Sopenharmony_ci "host": "example.com", 18241cb0ef41Sopenharmony_ci "hostname": "example.com", 18251cb0ef41Sopenharmony_ci "port": "", 18261cb0ef41Sopenharmony_ci "pathname": "/foo/", 18271cb0ef41Sopenharmony_ci "search": "", 18281cb0ef41Sopenharmony_ci "hash": "" 18291cb0ef41Sopenharmony_ci }, 18301cb0ef41Sopenharmony_ci { 18311cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar/../", 18321cb0ef41Sopenharmony_ci "base": null, 18331cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 18341cb0ef41Sopenharmony_ci "origin": "http://example.com", 18351cb0ef41Sopenharmony_ci "protocol": "http:", 18361cb0ef41Sopenharmony_ci "username": "", 18371cb0ef41Sopenharmony_ci "password": "", 18381cb0ef41Sopenharmony_ci "host": "example.com", 18391cb0ef41Sopenharmony_ci "hostname": "example.com", 18401cb0ef41Sopenharmony_ci "port": "", 18411cb0ef41Sopenharmony_ci "pathname": "/foo/", 18421cb0ef41Sopenharmony_ci "search": "", 18431cb0ef41Sopenharmony_ci "hash": "" 18441cb0ef41Sopenharmony_ci }, 18451cb0ef41Sopenharmony_ci { 18461cb0ef41Sopenharmony_ci "input": "http://example.com/foo/..bar", 18471cb0ef41Sopenharmony_ci "base": null, 18481cb0ef41Sopenharmony_ci "href": "http://example.com/foo/..bar", 18491cb0ef41Sopenharmony_ci "origin": "http://example.com", 18501cb0ef41Sopenharmony_ci "protocol": "http:", 18511cb0ef41Sopenharmony_ci "username": "", 18521cb0ef41Sopenharmony_ci "password": "", 18531cb0ef41Sopenharmony_ci "host": "example.com", 18541cb0ef41Sopenharmony_ci "hostname": "example.com", 18551cb0ef41Sopenharmony_ci "port": "", 18561cb0ef41Sopenharmony_ci "pathname": "/foo/..bar", 18571cb0ef41Sopenharmony_ci "search": "", 18581cb0ef41Sopenharmony_ci "hash": "" 18591cb0ef41Sopenharmony_ci }, 18601cb0ef41Sopenharmony_ci { 18611cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar/../ton", 18621cb0ef41Sopenharmony_ci "base": null, 18631cb0ef41Sopenharmony_ci "href": "http://example.com/foo/ton", 18641cb0ef41Sopenharmony_ci "origin": "http://example.com", 18651cb0ef41Sopenharmony_ci "protocol": "http:", 18661cb0ef41Sopenharmony_ci "username": "", 18671cb0ef41Sopenharmony_ci "password": "", 18681cb0ef41Sopenharmony_ci "host": "example.com", 18691cb0ef41Sopenharmony_ci "hostname": "example.com", 18701cb0ef41Sopenharmony_ci "port": "", 18711cb0ef41Sopenharmony_ci "pathname": "/foo/ton", 18721cb0ef41Sopenharmony_ci "search": "", 18731cb0ef41Sopenharmony_ci "hash": "" 18741cb0ef41Sopenharmony_ci }, 18751cb0ef41Sopenharmony_ci { 18761cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar/../ton/../../a", 18771cb0ef41Sopenharmony_ci "base": null, 18781cb0ef41Sopenharmony_ci "href": "http://example.com/a", 18791cb0ef41Sopenharmony_ci "origin": "http://example.com", 18801cb0ef41Sopenharmony_ci "protocol": "http:", 18811cb0ef41Sopenharmony_ci "username": "", 18821cb0ef41Sopenharmony_ci "password": "", 18831cb0ef41Sopenharmony_ci "host": "example.com", 18841cb0ef41Sopenharmony_ci "hostname": "example.com", 18851cb0ef41Sopenharmony_ci "port": "", 18861cb0ef41Sopenharmony_ci "pathname": "/a", 18871cb0ef41Sopenharmony_ci "search": "", 18881cb0ef41Sopenharmony_ci "hash": "" 18891cb0ef41Sopenharmony_ci }, 18901cb0ef41Sopenharmony_ci { 18911cb0ef41Sopenharmony_ci "input": "http://example.com/foo/../../..", 18921cb0ef41Sopenharmony_ci "base": null, 18931cb0ef41Sopenharmony_ci "href": "http://example.com/", 18941cb0ef41Sopenharmony_ci "origin": "http://example.com", 18951cb0ef41Sopenharmony_ci "protocol": "http:", 18961cb0ef41Sopenharmony_ci "username": "", 18971cb0ef41Sopenharmony_ci "password": "", 18981cb0ef41Sopenharmony_ci "host": "example.com", 18991cb0ef41Sopenharmony_ci "hostname": "example.com", 19001cb0ef41Sopenharmony_ci "port": "", 19011cb0ef41Sopenharmony_ci "pathname": "/", 19021cb0ef41Sopenharmony_ci "search": "", 19031cb0ef41Sopenharmony_ci "hash": "" 19041cb0ef41Sopenharmony_ci }, 19051cb0ef41Sopenharmony_ci { 19061cb0ef41Sopenharmony_ci "input": "http://example.com/foo/../../../ton", 19071cb0ef41Sopenharmony_ci "base": null, 19081cb0ef41Sopenharmony_ci "href": "http://example.com/ton", 19091cb0ef41Sopenharmony_ci "origin": "http://example.com", 19101cb0ef41Sopenharmony_ci "protocol": "http:", 19111cb0ef41Sopenharmony_ci "username": "", 19121cb0ef41Sopenharmony_ci "password": "", 19131cb0ef41Sopenharmony_ci "host": "example.com", 19141cb0ef41Sopenharmony_ci "hostname": "example.com", 19151cb0ef41Sopenharmony_ci "port": "", 19161cb0ef41Sopenharmony_ci "pathname": "/ton", 19171cb0ef41Sopenharmony_ci "search": "", 19181cb0ef41Sopenharmony_ci "hash": "" 19191cb0ef41Sopenharmony_ci }, 19201cb0ef41Sopenharmony_ci { 19211cb0ef41Sopenharmony_ci "input": "http://example.com/foo/%2e", 19221cb0ef41Sopenharmony_ci "base": null, 19231cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 19241cb0ef41Sopenharmony_ci "origin": "http://example.com", 19251cb0ef41Sopenharmony_ci "protocol": "http:", 19261cb0ef41Sopenharmony_ci "username": "", 19271cb0ef41Sopenharmony_ci "password": "", 19281cb0ef41Sopenharmony_ci "host": "example.com", 19291cb0ef41Sopenharmony_ci "hostname": "example.com", 19301cb0ef41Sopenharmony_ci "port": "", 19311cb0ef41Sopenharmony_ci "pathname": "/foo/", 19321cb0ef41Sopenharmony_ci "search": "", 19331cb0ef41Sopenharmony_ci "hash": "" 19341cb0ef41Sopenharmony_ci }, 19351cb0ef41Sopenharmony_ci { 19361cb0ef41Sopenharmony_ci "input": "http://example.com/foo/%2e%2", 19371cb0ef41Sopenharmony_ci "base": null, 19381cb0ef41Sopenharmony_ci "href": "http://example.com/foo/%2e%2", 19391cb0ef41Sopenharmony_ci "origin": "http://example.com", 19401cb0ef41Sopenharmony_ci "protocol": "http:", 19411cb0ef41Sopenharmony_ci "username": "", 19421cb0ef41Sopenharmony_ci "password": "", 19431cb0ef41Sopenharmony_ci "host": "example.com", 19441cb0ef41Sopenharmony_ci "hostname": "example.com", 19451cb0ef41Sopenharmony_ci "port": "", 19461cb0ef41Sopenharmony_ci "pathname": "/foo/%2e%2", 19471cb0ef41Sopenharmony_ci "search": "", 19481cb0ef41Sopenharmony_ci "hash": "" 19491cb0ef41Sopenharmony_ci }, 19501cb0ef41Sopenharmony_ci { 19511cb0ef41Sopenharmony_ci "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar", 19521cb0ef41Sopenharmony_ci "base": null, 19531cb0ef41Sopenharmony_ci "href": "http://example.com/%2e.bar", 19541cb0ef41Sopenharmony_ci "origin": "http://example.com", 19551cb0ef41Sopenharmony_ci "protocol": "http:", 19561cb0ef41Sopenharmony_ci "username": "", 19571cb0ef41Sopenharmony_ci "password": "", 19581cb0ef41Sopenharmony_ci "host": "example.com", 19591cb0ef41Sopenharmony_ci "hostname": "example.com", 19601cb0ef41Sopenharmony_ci "port": "", 19611cb0ef41Sopenharmony_ci "pathname": "/%2e.bar", 19621cb0ef41Sopenharmony_ci "search": "", 19631cb0ef41Sopenharmony_ci "hash": "" 19641cb0ef41Sopenharmony_ci }, 19651cb0ef41Sopenharmony_ci { 19661cb0ef41Sopenharmony_ci "input": "http://example.com////../..", 19671cb0ef41Sopenharmony_ci "base": null, 19681cb0ef41Sopenharmony_ci "href": "http://example.com//", 19691cb0ef41Sopenharmony_ci "origin": "http://example.com", 19701cb0ef41Sopenharmony_ci "protocol": "http:", 19711cb0ef41Sopenharmony_ci "username": "", 19721cb0ef41Sopenharmony_ci "password": "", 19731cb0ef41Sopenharmony_ci "host": "example.com", 19741cb0ef41Sopenharmony_ci "hostname": "example.com", 19751cb0ef41Sopenharmony_ci "port": "", 19761cb0ef41Sopenharmony_ci "pathname": "//", 19771cb0ef41Sopenharmony_ci "search": "", 19781cb0ef41Sopenharmony_ci "hash": "" 19791cb0ef41Sopenharmony_ci }, 19801cb0ef41Sopenharmony_ci { 19811cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar//../..", 19821cb0ef41Sopenharmony_ci "base": null, 19831cb0ef41Sopenharmony_ci "href": "http://example.com/foo/", 19841cb0ef41Sopenharmony_ci "origin": "http://example.com", 19851cb0ef41Sopenharmony_ci "protocol": "http:", 19861cb0ef41Sopenharmony_ci "username": "", 19871cb0ef41Sopenharmony_ci "password": "", 19881cb0ef41Sopenharmony_ci "host": "example.com", 19891cb0ef41Sopenharmony_ci "hostname": "example.com", 19901cb0ef41Sopenharmony_ci "port": "", 19911cb0ef41Sopenharmony_ci "pathname": "/foo/", 19921cb0ef41Sopenharmony_ci "search": "", 19931cb0ef41Sopenharmony_ci "hash": "" 19941cb0ef41Sopenharmony_ci }, 19951cb0ef41Sopenharmony_ci { 19961cb0ef41Sopenharmony_ci "input": "http://example.com/foo/bar//..", 19971cb0ef41Sopenharmony_ci "base": null, 19981cb0ef41Sopenharmony_ci "href": "http://example.com/foo/bar/", 19991cb0ef41Sopenharmony_ci "origin": "http://example.com", 20001cb0ef41Sopenharmony_ci "protocol": "http:", 20011cb0ef41Sopenharmony_ci "username": "", 20021cb0ef41Sopenharmony_ci "password": "", 20031cb0ef41Sopenharmony_ci "host": "example.com", 20041cb0ef41Sopenharmony_ci "hostname": "example.com", 20051cb0ef41Sopenharmony_ci "port": "", 20061cb0ef41Sopenharmony_ci "pathname": "/foo/bar/", 20071cb0ef41Sopenharmony_ci "search": "", 20081cb0ef41Sopenharmony_ci "hash": "" 20091cb0ef41Sopenharmony_ci }, 20101cb0ef41Sopenharmony_ci { 20111cb0ef41Sopenharmony_ci "input": "http://example.com/foo", 20121cb0ef41Sopenharmony_ci "base": null, 20131cb0ef41Sopenharmony_ci "href": "http://example.com/foo", 20141cb0ef41Sopenharmony_ci "origin": "http://example.com", 20151cb0ef41Sopenharmony_ci "protocol": "http:", 20161cb0ef41Sopenharmony_ci "username": "", 20171cb0ef41Sopenharmony_ci "password": "", 20181cb0ef41Sopenharmony_ci "host": "example.com", 20191cb0ef41Sopenharmony_ci "hostname": "example.com", 20201cb0ef41Sopenharmony_ci "port": "", 20211cb0ef41Sopenharmony_ci "pathname": "/foo", 20221cb0ef41Sopenharmony_ci "search": "", 20231cb0ef41Sopenharmony_ci "hash": "" 20241cb0ef41Sopenharmony_ci }, 20251cb0ef41Sopenharmony_ci { 20261cb0ef41Sopenharmony_ci "input": "http://example.com/%20foo", 20271cb0ef41Sopenharmony_ci "base": null, 20281cb0ef41Sopenharmony_ci "href": "http://example.com/%20foo", 20291cb0ef41Sopenharmony_ci "origin": "http://example.com", 20301cb0ef41Sopenharmony_ci "protocol": "http:", 20311cb0ef41Sopenharmony_ci "username": "", 20321cb0ef41Sopenharmony_ci "password": "", 20331cb0ef41Sopenharmony_ci "host": "example.com", 20341cb0ef41Sopenharmony_ci "hostname": "example.com", 20351cb0ef41Sopenharmony_ci "port": "", 20361cb0ef41Sopenharmony_ci "pathname": "/%20foo", 20371cb0ef41Sopenharmony_ci "search": "", 20381cb0ef41Sopenharmony_ci "hash": "" 20391cb0ef41Sopenharmony_ci }, 20401cb0ef41Sopenharmony_ci { 20411cb0ef41Sopenharmony_ci "input": "http://example.com/foo%", 20421cb0ef41Sopenharmony_ci "base": null, 20431cb0ef41Sopenharmony_ci "href": "http://example.com/foo%", 20441cb0ef41Sopenharmony_ci "origin": "http://example.com", 20451cb0ef41Sopenharmony_ci "protocol": "http:", 20461cb0ef41Sopenharmony_ci "username": "", 20471cb0ef41Sopenharmony_ci "password": "", 20481cb0ef41Sopenharmony_ci "host": "example.com", 20491cb0ef41Sopenharmony_ci "hostname": "example.com", 20501cb0ef41Sopenharmony_ci "port": "", 20511cb0ef41Sopenharmony_ci "pathname": "/foo%", 20521cb0ef41Sopenharmony_ci "search": "", 20531cb0ef41Sopenharmony_ci "hash": "" 20541cb0ef41Sopenharmony_ci }, 20551cb0ef41Sopenharmony_ci { 20561cb0ef41Sopenharmony_ci "input": "http://example.com/foo%2", 20571cb0ef41Sopenharmony_ci "base": null, 20581cb0ef41Sopenharmony_ci "href": "http://example.com/foo%2", 20591cb0ef41Sopenharmony_ci "origin": "http://example.com", 20601cb0ef41Sopenharmony_ci "protocol": "http:", 20611cb0ef41Sopenharmony_ci "username": "", 20621cb0ef41Sopenharmony_ci "password": "", 20631cb0ef41Sopenharmony_ci "host": "example.com", 20641cb0ef41Sopenharmony_ci "hostname": "example.com", 20651cb0ef41Sopenharmony_ci "port": "", 20661cb0ef41Sopenharmony_ci "pathname": "/foo%2", 20671cb0ef41Sopenharmony_ci "search": "", 20681cb0ef41Sopenharmony_ci "hash": "" 20691cb0ef41Sopenharmony_ci }, 20701cb0ef41Sopenharmony_ci { 20711cb0ef41Sopenharmony_ci "input": "http://example.com/foo%2zbar", 20721cb0ef41Sopenharmony_ci "base": null, 20731cb0ef41Sopenharmony_ci "href": "http://example.com/foo%2zbar", 20741cb0ef41Sopenharmony_ci "origin": "http://example.com", 20751cb0ef41Sopenharmony_ci "protocol": "http:", 20761cb0ef41Sopenharmony_ci "username": "", 20771cb0ef41Sopenharmony_ci "password": "", 20781cb0ef41Sopenharmony_ci "host": "example.com", 20791cb0ef41Sopenharmony_ci "hostname": "example.com", 20801cb0ef41Sopenharmony_ci "port": "", 20811cb0ef41Sopenharmony_ci "pathname": "/foo%2zbar", 20821cb0ef41Sopenharmony_ci "search": "", 20831cb0ef41Sopenharmony_ci "hash": "" 20841cb0ef41Sopenharmony_ci }, 20851cb0ef41Sopenharmony_ci { 20861cb0ef41Sopenharmony_ci "input": "http://example.com/foo%2©zbar", 20871cb0ef41Sopenharmony_ci "base": null, 20881cb0ef41Sopenharmony_ci "href": "http://example.com/foo%2%C3%82%C2%A9zbar", 20891cb0ef41Sopenharmony_ci "origin": "http://example.com", 20901cb0ef41Sopenharmony_ci "protocol": "http:", 20911cb0ef41Sopenharmony_ci "username": "", 20921cb0ef41Sopenharmony_ci "password": "", 20931cb0ef41Sopenharmony_ci "host": "example.com", 20941cb0ef41Sopenharmony_ci "hostname": "example.com", 20951cb0ef41Sopenharmony_ci "port": "", 20961cb0ef41Sopenharmony_ci "pathname": "/foo%2%C3%82%C2%A9zbar", 20971cb0ef41Sopenharmony_ci "search": "", 20981cb0ef41Sopenharmony_ci "hash": "" 20991cb0ef41Sopenharmony_ci }, 21001cb0ef41Sopenharmony_ci { 21011cb0ef41Sopenharmony_ci "input": "http://example.com/foo%41%7a", 21021cb0ef41Sopenharmony_ci "base": null, 21031cb0ef41Sopenharmony_ci "href": "http://example.com/foo%41%7a", 21041cb0ef41Sopenharmony_ci "origin": "http://example.com", 21051cb0ef41Sopenharmony_ci "protocol": "http:", 21061cb0ef41Sopenharmony_ci "username": "", 21071cb0ef41Sopenharmony_ci "password": "", 21081cb0ef41Sopenharmony_ci "host": "example.com", 21091cb0ef41Sopenharmony_ci "hostname": "example.com", 21101cb0ef41Sopenharmony_ci "port": "", 21111cb0ef41Sopenharmony_ci "pathname": "/foo%41%7a", 21121cb0ef41Sopenharmony_ci "search": "", 21131cb0ef41Sopenharmony_ci "hash": "" 21141cb0ef41Sopenharmony_ci }, 21151cb0ef41Sopenharmony_ci { 21161cb0ef41Sopenharmony_ci "input": "http://example.com/foo\t\u0091%91", 21171cb0ef41Sopenharmony_ci "base": null, 21181cb0ef41Sopenharmony_ci "href": "http://example.com/foo%C2%91%91", 21191cb0ef41Sopenharmony_ci "origin": "http://example.com", 21201cb0ef41Sopenharmony_ci "protocol": "http:", 21211cb0ef41Sopenharmony_ci "username": "", 21221cb0ef41Sopenharmony_ci "password": "", 21231cb0ef41Sopenharmony_ci "host": "example.com", 21241cb0ef41Sopenharmony_ci "hostname": "example.com", 21251cb0ef41Sopenharmony_ci "port": "", 21261cb0ef41Sopenharmony_ci "pathname": "/foo%C2%91%91", 21271cb0ef41Sopenharmony_ci "search": "", 21281cb0ef41Sopenharmony_ci "hash": "" 21291cb0ef41Sopenharmony_ci }, 21301cb0ef41Sopenharmony_ci { 21311cb0ef41Sopenharmony_ci "input": "http://example.com/foo%00%51", 21321cb0ef41Sopenharmony_ci "base": null, 21331cb0ef41Sopenharmony_ci "href": "http://example.com/foo%00%51", 21341cb0ef41Sopenharmony_ci "origin": "http://example.com", 21351cb0ef41Sopenharmony_ci "protocol": "http:", 21361cb0ef41Sopenharmony_ci "username": "", 21371cb0ef41Sopenharmony_ci "password": "", 21381cb0ef41Sopenharmony_ci "host": "example.com", 21391cb0ef41Sopenharmony_ci "hostname": "example.com", 21401cb0ef41Sopenharmony_ci "port": "", 21411cb0ef41Sopenharmony_ci "pathname": "/foo%00%51", 21421cb0ef41Sopenharmony_ci "search": "", 21431cb0ef41Sopenharmony_ci "hash": "" 21441cb0ef41Sopenharmony_ci }, 21451cb0ef41Sopenharmony_ci { 21461cb0ef41Sopenharmony_ci "input": "http://example.com/(%28:%3A%29)", 21471cb0ef41Sopenharmony_ci "base": null, 21481cb0ef41Sopenharmony_ci "href": "http://example.com/(%28:%3A%29)", 21491cb0ef41Sopenharmony_ci "origin": "http://example.com", 21501cb0ef41Sopenharmony_ci "protocol": "http:", 21511cb0ef41Sopenharmony_ci "username": "", 21521cb0ef41Sopenharmony_ci "password": "", 21531cb0ef41Sopenharmony_ci "host": "example.com", 21541cb0ef41Sopenharmony_ci "hostname": "example.com", 21551cb0ef41Sopenharmony_ci "port": "", 21561cb0ef41Sopenharmony_ci "pathname": "/(%28:%3A%29)", 21571cb0ef41Sopenharmony_ci "search": "", 21581cb0ef41Sopenharmony_ci "hash": "" 21591cb0ef41Sopenharmony_ci }, 21601cb0ef41Sopenharmony_ci { 21611cb0ef41Sopenharmony_ci "input": "http://example.com/%3A%3a%3C%3c", 21621cb0ef41Sopenharmony_ci "base": null, 21631cb0ef41Sopenharmony_ci "href": "http://example.com/%3A%3a%3C%3c", 21641cb0ef41Sopenharmony_ci "origin": "http://example.com", 21651cb0ef41Sopenharmony_ci "protocol": "http:", 21661cb0ef41Sopenharmony_ci "username": "", 21671cb0ef41Sopenharmony_ci "password": "", 21681cb0ef41Sopenharmony_ci "host": "example.com", 21691cb0ef41Sopenharmony_ci "hostname": "example.com", 21701cb0ef41Sopenharmony_ci "port": "", 21711cb0ef41Sopenharmony_ci "pathname": "/%3A%3a%3C%3c", 21721cb0ef41Sopenharmony_ci "search": "", 21731cb0ef41Sopenharmony_ci "hash": "" 21741cb0ef41Sopenharmony_ci }, 21751cb0ef41Sopenharmony_ci { 21761cb0ef41Sopenharmony_ci "input": "http://example.com/foo\tbar", 21771cb0ef41Sopenharmony_ci "base": null, 21781cb0ef41Sopenharmony_ci "href": "http://example.com/foobar", 21791cb0ef41Sopenharmony_ci "origin": "http://example.com", 21801cb0ef41Sopenharmony_ci "protocol": "http:", 21811cb0ef41Sopenharmony_ci "username": "", 21821cb0ef41Sopenharmony_ci "password": "", 21831cb0ef41Sopenharmony_ci "host": "example.com", 21841cb0ef41Sopenharmony_ci "hostname": "example.com", 21851cb0ef41Sopenharmony_ci "port": "", 21861cb0ef41Sopenharmony_ci "pathname": "/foobar", 21871cb0ef41Sopenharmony_ci "search": "", 21881cb0ef41Sopenharmony_ci "hash": "" 21891cb0ef41Sopenharmony_ci }, 21901cb0ef41Sopenharmony_ci { 21911cb0ef41Sopenharmony_ci "input": "http://example.com\\\\foo\\\\bar", 21921cb0ef41Sopenharmony_ci "base": null, 21931cb0ef41Sopenharmony_ci "href": "http://example.com//foo//bar", 21941cb0ef41Sopenharmony_ci "origin": "http://example.com", 21951cb0ef41Sopenharmony_ci "protocol": "http:", 21961cb0ef41Sopenharmony_ci "username": "", 21971cb0ef41Sopenharmony_ci "password": "", 21981cb0ef41Sopenharmony_ci "host": "example.com", 21991cb0ef41Sopenharmony_ci "hostname": "example.com", 22001cb0ef41Sopenharmony_ci "port": "", 22011cb0ef41Sopenharmony_ci "pathname": "//foo//bar", 22021cb0ef41Sopenharmony_ci "search": "", 22031cb0ef41Sopenharmony_ci "hash": "" 22041cb0ef41Sopenharmony_ci }, 22051cb0ef41Sopenharmony_ci { 22061cb0ef41Sopenharmony_ci "input": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd", 22071cb0ef41Sopenharmony_ci "base": null, 22081cb0ef41Sopenharmony_ci "href": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd", 22091cb0ef41Sopenharmony_ci "origin": "http://example.com", 22101cb0ef41Sopenharmony_ci "protocol": "http:", 22111cb0ef41Sopenharmony_ci "username": "", 22121cb0ef41Sopenharmony_ci "password": "", 22131cb0ef41Sopenharmony_ci "host": "example.com", 22141cb0ef41Sopenharmony_ci "hostname": "example.com", 22151cb0ef41Sopenharmony_ci "port": "", 22161cb0ef41Sopenharmony_ci "pathname": "/%7Ffp3%3Eju%3Dduvgw%3Dd", 22171cb0ef41Sopenharmony_ci "search": "", 22181cb0ef41Sopenharmony_ci "hash": "" 22191cb0ef41Sopenharmony_ci }, 22201cb0ef41Sopenharmony_ci { 22211cb0ef41Sopenharmony_ci "input": "http://example.com/@asdf%40", 22221cb0ef41Sopenharmony_ci "base": null, 22231cb0ef41Sopenharmony_ci "href": "http://example.com/@asdf%40", 22241cb0ef41Sopenharmony_ci "origin": "http://example.com", 22251cb0ef41Sopenharmony_ci "protocol": "http:", 22261cb0ef41Sopenharmony_ci "username": "", 22271cb0ef41Sopenharmony_ci "password": "", 22281cb0ef41Sopenharmony_ci "host": "example.com", 22291cb0ef41Sopenharmony_ci "hostname": "example.com", 22301cb0ef41Sopenharmony_ci "port": "", 22311cb0ef41Sopenharmony_ci "pathname": "/@asdf%40", 22321cb0ef41Sopenharmony_ci "search": "", 22331cb0ef41Sopenharmony_ci "hash": "" 22341cb0ef41Sopenharmony_ci }, 22351cb0ef41Sopenharmony_ci { 22361cb0ef41Sopenharmony_ci "input": "http://example.com/你好你好", 22371cb0ef41Sopenharmony_ci "base": null, 22381cb0ef41Sopenharmony_ci "href": "http://example.com/%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD", 22391cb0ef41Sopenharmony_ci "origin": "http://example.com", 22401cb0ef41Sopenharmony_ci "protocol": "http:", 22411cb0ef41Sopenharmony_ci "username": "", 22421cb0ef41Sopenharmony_ci "password": "", 22431cb0ef41Sopenharmony_ci "host": "example.com", 22441cb0ef41Sopenharmony_ci "hostname": "example.com", 22451cb0ef41Sopenharmony_ci "port": "", 22461cb0ef41Sopenharmony_ci "pathname": "/%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD", 22471cb0ef41Sopenharmony_ci "search": "", 22481cb0ef41Sopenharmony_ci "hash": "" 22491cb0ef41Sopenharmony_ci }, 22501cb0ef41Sopenharmony_ci { 22511cb0ef41Sopenharmony_ci "input": "http://example.com/‥/foo", 22521cb0ef41Sopenharmony_ci "base": null, 22531cb0ef41Sopenharmony_ci "href": "http://example.com/%E2%80%A5/foo", 22541cb0ef41Sopenharmony_ci "origin": "http://example.com", 22551cb0ef41Sopenharmony_ci "protocol": "http:", 22561cb0ef41Sopenharmony_ci "username": "", 22571cb0ef41Sopenharmony_ci "password": "", 22581cb0ef41Sopenharmony_ci "host": "example.com", 22591cb0ef41Sopenharmony_ci "hostname": "example.com", 22601cb0ef41Sopenharmony_ci "port": "", 22611cb0ef41Sopenharmony_ci "pathname": "/%E2%80%A5/foo", 22621cb0ef41Sopenharmony_ci "search": "", 22631cb0ef41Sopenharmony_ci "hash": "" 22641cb0ef41Sopenharmony_ci }, 22651cb0ef41Sopenharmony_ci { 22661cb0ef41Sopenharmony_ci "input": "http://example.com//foo", 22671cb0ef41Sopenharmony_ci "base": null, 22681cb0ef41Sopenharmony_ci "href": "http://example.com/%EF%BB%BF/foo", 22691cb0ef41Sopenharmony_ci "origin": "http://example.com", 22701cb0ef41Sopenharmony_ci "protocol": "http:", 22711cb0ef41Sopenharmony_ci "username": "", 22721cb0ef41Sopenharmony_ci "password": "", 22731cb0ef41Sopenharmony_ci "host": "example.com", 22741cb0ef41Sopenharmony_ci "hostname": "example.com", 22751cb0ef41Sopenharmony_ci "port": "", 22761cb0ef41Sopenharmony_ci "pathname": "/%EF%BB%BF/foo", 22771cb0ef41Sopenharmony_ci "search": "", 22781cb0ef41Sopenharmony_ci "hash": "" 22791cb0ef41Sopenharmony_ci }, 22801cb0ef41Sopenharmony_ci { 22811cb0ef41Sopenharmony_ci "input": "http://example.com//foo//bar", 22821cb0ef41Sopenharmony_ci "base": null, 22831cb0ef41Sopenharmony_ci "href": "http://example.com/%E2%80%AE/foo/%E2%80%AD/bar", 22841cb0ef41Sopenharmony_ci "origin": "http://example.com", 22851cb0ef41Sopenharmony_ci "protocol": "http:", 22861cb0ef41Sopenharmony_ci "username": "", 22871cb0ef41Sopenharmony_ci "password": "", 22881cb0ef41Sopenharmony_ci "host": "example.com", 22891cb0ef41Sopenharmony_ci "hostname": "example.com", 22901cb0ef41Sopenharmony_ci "port": "", 22911cb0ef41Sopenharmony_ci "pathname": "/%E2%80%AE/foo/%E2%80%AD/bar", 22921cb0ef41Sopenharmony_ci "search": "", 22931cb0ef41Sopenharmony_ci "hash": "" 22941cb0ef41Sopenharmony_ci }, 22951cb0ef41Sopenharmony_ci "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/relative.js", 22961cb0ef41Sopenharmony_ci { 22971cb0ef41Sopenharmony_ci "input": "http://www.google.com/foo?bar=baz#", 22981cb0ef41Sopenharmony_ci "base": null, 22991cb0ef41Sopenharmony_ci "href": "http://www.google.com/foo?bar=baz#", 23001cb0ef41Sopenharmony_ci "origin": "http://www.google.com", 23011cb0ef41Sopenharmony_ci "protocol": "http:", 23021cb0ef41Sopenharmony_ci "username": "", 23031cb0ef41Sopenharmony_ci "password": "", 23041cb0ef41Sopenharmony_ci "host": "www.google.com", 23051cb0ef41Sopenharmony_ci "hostname": "www.google.com", 23061cb0ef41Sopenharmony_ci "port": "", 23071cb0ef41Sopenharmony_ci "pathname": "/foo", 23081cb0ef41Sopenharmony_ci "search": "?bar=baz", 23091cb0ef41Sopenharmony_ci "hash": "" 23101cb0ef41Sopenharmony_ci }, 23111cb0ef41Sopenharmony_ci { 23121cb0ef41Sopenharmony_ci "input": "http://www.google.com/foo?bar=baz# »", 23131cb0ef41Sopenharmony_ci "base": null, 23141cb0ef41Sopenharmony_ci "href": "http://www.google.com/foo?bar=baz#%20%C2%BB", 23151cb0ef41Sopenharmony_ci "origin": "http://www.google.com", 23161cb0ef41Sopenharmony_ci "protocol": "http:", 23171cb0ef41Sopenharmony_ci "username": "", 23181cb0ef41Sopenharmony_ci "password": "", 23191cb0ef41Sopenharmony_ci "host": "www.google.com", 23201cb0ef41Sopenharmony_ci "hostname": "www.google.com", 23211cb0ef41Sopenharmony_ci "port": "", 23221cb0ef41Sopenharmony_ci "pathname": "/foo", 23231cb0ef41Sopenharmony_ci "search": "?bar=baz", 23241cb0ef41Sopenharmony_ci "hash": "#%20%C2%BB" 23251cb0ef41Sopenharmony_ci }, 23261cb0ef41Sopenharmony_ci { 23271cb0ef41Sopenharmony_ci "input": "data:test# »", 23281cb0ef41Sopenharmony_ci "base": null, 23291cb0ef41Sopenharmony_ci "href": "data:test#%20%C2%BB", 23301cb0ef41Sopenharmony_ci "origin": "null", 23311cb0ef41Sopenharmony_ci "protocol": "data:", 23321cb0ef41Sopenharmony_ci "username": "", 23331cb0ef41Sopenharmony_ci "password": "", 23341cb0ef41Sopenharmony_ci "host": "", 23351cb0ef41Sopenharmony_ci "hostname": "", 23361cb0ef41Sopenharmony_ci "port": "", 23371cb0ef41Sopenharmony_ci "pathname": "test", 23381cb0ef41Sopenharmony_ci "search": "", 23391cb0ef41Sopenharmony_ci "hash": "#%20%C2%BB" 23401cb0ef41Sopenharmony_ci }, 23411cb0ef41Sopenharmony_ci { 23421cb0ef41Sopenharmony_ci "input": "http://www.google.com", 23431cb0ef41Sopenharmony_ci "base": null, 23441cb0ef41Sopenharmony_ci "href": "http://www.google.com/", 23451cb0ef41Sopenharmony_ci "origin": "http://www.google.com", 23461cb0ef41Sopenharmony_ci "protocol": "http:", 23471cb0ef41Sopenharmony_ci "username": "", 23481cb0ef41Sopenharmony_ci "password": "", 23491cb0ef41Sopenharmony_ci "host": "www.google.com", 23501cb0ef41Sopenharmony_ci "hostname": "www.google.com", 23511cb0ef41Sopenharmony_ci "port": "", 23521cb0ef41Sopenharmony_ci "pathname": "/", 23531cb0ef41Sopenharmony_ci "search": "", 23541cb0ef41Sopenharmony_ci "hash": "" 23551cb0ef41Sopenharmony_ci }, 23561cb0ef41Sopenharmony_ci { 23571cb0ef41Sopenharmony_ci "input": "http://192.0x00A80001", 23581cb0ef41Sopenharmony_ci "base": null, 23591cb0ef41Sopenharmony_ci "href": "http://192.168.0.1/", 23601cb0ef41Sopenharmony_ci "origin": "http://192.168.0.1", 23611cb0ef41Sopenharmony_ci "protocol": "http:", 23621cb0ef41Sopenharmony_ci "username": "", 23631cb0ef41Sopenharmony_ci "password": "", 23641cb0ef41Sopenharmony_ci "host": "192.168.0.1", 23651cb0ef41Sopenharmony_ci "hostname": "192.168.0.1", 23661cb0ef41Sopenharmony_ci "port": "", 23671cb0ef41Sopenharmony_ci "pathname": "/", 23681cb0ef41Sopenharmony_ci "search": "", 23691cb0ef41Sopenharmony_ci "hash": "" 23701cb0ef41Sopenharmony_ci }, 23711cb0ef41Sopenharmony_ci { 23721cb0ef41Sopenharmony_ci "input": "http://www/foo%2Ehtml", 23731cb0ef41Sopenharmony_ci "base": null, 23741cb0ef41Sopenharmony_ci "href": "http://www/foo%2Ehtml", 23751cb0ef41Sopenharmony_ci "origin": "http://www", 23761cb0ef41Sopenharmony_ci "protocol": "http:", 23771cb0ef41Sopenharmony_ci "username": "", 23781cb0ef41Sopenharmony_ci "password": "", 23791cb0ef41Sopenharmony_ci "host": "www", 23801cb0ef41Sopenharmony_ci "hostname": "www", 23811cb0ef41Sopenharmony_ci "port": "", 23821cb0ef41Sopenharmony_ci "pathname": "/foo%2Ehtml", 23831cb0ef41Sopenharmony_ci "search": "", 23841cb0ef41Sopenharmony_ci "hash": "" 23851cb0ef41Sopenharmony_ci }, 23861cb0ef41Sopenharmony_ci { 23871cb0ef41Sopenharmony_ci "input": "http://www/foo/%2E/html", 23881cb0ef41Sopenharmony_ci "base": null, 23891cb0ef41Sopenharmony_ci "href": "http://www/foo/html", 23901cb0ef41Sopenharmony_ci "origin": "http://www", 23911cb0ef41Sopenharmony_ci "protocol": "http:", 23921cb0ef41Sopenharmony_ci "username": "", 23931cb0ef41Sopenharmony_ci "password": "", 23941cb0ef41Sopenharmony_ci "host": "www", 23951cb0ef41Sopenharmony_ci "hostname": "www", 23961cb0ef41Sopenharmony_ci "port": "", 23971cb0ef41Sopenharmony_ci "pathname": "/foo/html", 23981cb0ef41Sopenharmony_ci "search": "", 23991cb0ef41Sopenharmony_ci "hash": "" 24001cb0ef41Sopenharmony_ci }, 24011cb0ef41Sopenharmony_ci { 24021cb0ef41Sopenharmony_ci "input": "http://user:pass@/", 24031cb0ef41Sopenharmony_ci "base": null, 24041cb0ef41Sopenharmony_ci "failure": true 24051cb0ef41Sopenharmony_ci }, 24061cb0ef41Sopenharmony_ci { 24071cb0ef41Sopenharmony_ci "input": "http://%25DOMAIN:foobar@foodomain.com/", 24081cb0ef41Sopenharmony_ci "base": null, 24091cb0ef41Sopenharmony_ci "href": "http://%25DOMAIN:foobar@foodomain.com/", 24101cb0ef41Sopenharmony_ci "origin": "http://foodomain.com", 24111cb0ef41Sopenharmony_ci "protocol": "http:", 24121cb0ef41Sopenharmony_ci "username": "%25DOMAIN", 24131cb0ef41Sopenharmony_ci "password": "foobar", 24141cb0ef41Sopenharmony_ci "host": "foodomain.com", 24151cb0ef41Sopenharmony_ci "hostname": "foodomain.com", 24161cb0ef41Sopenharmony_ci "port": "", 24171cb0ef41Sopenharmony_ci "pathname": "/", 24181cb0ef41Sopenharmony_ci "search": "", 24191cb0ef41Sopenharmony_ci "hash": "" 24201cb0ef41Sopenharmony_ci }, 24211cb0ef41Sopenharmony_ci { 24221cb0ef41Sopenharmony_ci "input": "http:\\\\www.google.com\\foo", 24231cb0ef41Sopenharmony_ci "base": null, 24241cb0ef41Sopenharmony_ci "href": "http://www.google.com/foo", 24251cb0ef41Sopenharmony_ci "origin": "http://www.google.com", 24261cb0ef41Sopenharmony_ci "protocol": "http:", 24271cb0ef41Sopenharmony_ci "username": "", 24281cb0ef41Sopenharmony_ci "password": "", 24291cb0ef41Sopenharmony_ci "host": "www.google.com", 24301cb0ef41Sopenharmony_ci "hostname": "www.google.com", 24311cb0ef41Sopenharmony_ci "port": "", 24321cb0ef41Sopenharmony_ci "pathname": "/foo", 24331cb0ef41Sopenharmony_ci "search": "", 24341cb0ef41Sopenharmony_ci "hash": "" 24351cb0ef41Sopenharmony_ci }, 24361cb0ef41Sopenharmony_ci { 24371cb0ef41Sopenharmony_ci "input": "http://foo:80/", 24381cb0ef41Sopenharmony_ci "base": null, 24391cb0ef41Sopenharmony_ci "href": "http://foo/", 24401cb0ef41Sopenharmony_ci "origin": "http://foo", 24411cb0ef41Sopenharmony_ci "protocol": "http:", 24421cb0ef41Sopenharmony_ci "username": "", 24431cb0ef41Sopenharmony_ci "password": "", 24441cb0ef41Sopenharmony_ci "host": "foo", 24451cb0ef41Sopenharmony_ci "hostname": "foo", 24461cb0ef41Sopenharmony_ci "port": "", 24471cb0ef41Sopenharmony_ci "pathname": "/", 24481cb0ef41Sopenharmony_ci "search": "", 24491cb0ef41Sopenharmony_ci "hash": "" 24501cb0ef41Sopenharmony_ci }, 24511cb0ef41Sopenharmony_ci { 24521cb0ef41Sopenharmony_ci "input": "http://foo:81/", 24531cb0ef41Sopenharmony_ci "base": null, 24541cb0ef41Sopenharmony_ci "href": "http://foo:81/", 24551cb0ef41Sopenharmony_ci "origin": "http://foo:81", 24561cb0ef41Sopenharmony_ci "protocol": "http:", 24571cb0ef41Sopenharmony_ci "username": "", 24581cb0ef41Sopenharmony_ci "password": "", 24591cb0ef41Sopenharmony_ci "host": "foo:81", 24601cb0ef41Sopenharmony_ci "hostname": "foo", 24611cb0ef41Sopenharmony_ci "port": "81", 24621cb0ef41Sopenharmony_ci "pathname": "/", 24631cb0ef41Sopenharmony_ci "search": "", 24641cb0ef41Sopenharmony_ci "hash": "" 24651cb0ef41Sopenharmony_ci }, 24661cb0ef41Sopenharmony_ci { 24671cb0ef41Sopenharmony_ci "input": "httpa://foo:80/", 24681cb0ef41Sopenharmony_ci "base": null, 24691cb0ef41Sopenharmony_ci "href": "httpa://foo:80/", 24701cb0ef41Sopenharmony_ci "origin": "null", 24711cb0ef41Sopenharmony_ci "protocol": "httpa:", 24721cb0ef41Sopenharmony_ci "username": "", 24731cb0ef41Sopenharmony_ci "password": "", 24741cb0ef41Sopenharmony_ci "host": "foo:80", 24751cb0ef41Sopenharmony_ci "hostname": "foo", 24761cb0ef41Sopenharmony_ci "port": "80", 24771cb0ef41Sopenharmony_ci "pathname": "/", 24781cb0ef41Sopenharmony_ci "search": "", 24791cb0ef41Sopenharmony_ci "hash": "" 24801cb0ef41Sopenharmony_ci }, 24811cb0ef41Sopenharmony_ci { 24821cb0ef41Sopenharmony_ci "input": "http://foo:-80/", 24831cb0ef41Sopenharmony_ci "base": null, 24841cb0ef41Sopenharmony_ci "failure": true 24851cb0ef41Sopenharmony_ci }, 24861cb0ef41Sopenharmony_ci { 24871cb0ef41Sopenharmony_ci "input": "https://foo:443/", 24881cb0ef41Sopenharmony_ci "base": null, 24891cb0ef41Sopenharmony_ci "href": "https://foo/", 24901cb0ef41Sopenharmony_ci "origin": "https://foo", 24911cb0ef41Sopenharmony_ci "protocol": "https:", 24921cb0ef41Sopenharmony_ci "username": "", 24931cb0ef41Sopenharmony_ci "password": "", 24941cb0ef41Sopenharmony_ci "host": "foo", 24951cb0ef41Sopenharmony_ci "hostname": "foo", 24961cb0ef41Sopenharmony_ci "port": "", 24971cb0ef41Sopenharmony_ci "pathname": "/", 24981cb0ef41Sopenharmony_ci "search": "", 24991cb0ef41Sopenharmony_ci "hash": "" 25001cb0ef41Sopenharmony_ci }, 25011cb0ef41Sopenharmony_ci { 25021cb0ef41Sopenharmony_ci "input": "https://foo:80/", 25031cb0ef41Sopenharmony_ci "base": null, 25041cb0ef41Sopenharmony_ci "href": "https://foo:80/", 25051cb0ef41Sopenharmony_ci "origin": "https://foo:80", 25061cb0ef41Sopenharmony_ci "protocol": "https:", 25071cb0ef41Sopenharmony_ci "username": "", 25081cb0ef41Sopenharmony_ci "password": "", 25091cb0ef41Sopenharmony_ci "host": "foo:80", 25101cb0ef41Sopenharmony_ci "hostname": "foo", 25111cb0ef41Sopenharmony_ci "port": "80", 25121cb0ef41Sopenharmony_ci "pathname": "/", 25131cb0ef41Sopenharmony_ci "search": "", 25141cb0ef41Sopenharmony_ci "hash": "" 25151cb0ef41Sopenharmony_ci }, 25161cb0ef41Sopenharmony_ci { 25171cb0ef41Sopenharmony_ci "input": "ftp://foo:21/", 25181cb0ef41Sopenharmony_ci "base": null, 25191cb0ef41Sopenharmony_ci "href": "ftp://foo/", 25201cb0ef41Sopenharmony_ci "origin": "ftp://foo", 25211cb0ef41Sopenharmony_ci "protocol": "ftp:", 25221cb0ef41Sopenharmony_ci "username": "", 25231cb0ef41Sopenharmony_ci "password": "", 25241cb0ef41Sopenharmony_ci "host": "foo", 25251cb0ef41Sopenharmony_ci "hostname": "foo", 25261cb0ef41Sopenharmony_ci "port": "", 25271cb0ef41Sopenharmony_ci "pathname": "/", 25281cb0ef41Sopenharmony_ci "search": "", 25291cb0ef41Sopenharmony_ci "hash": "" 25301cb0ef41Sopenharmony_ci }, 25311cb0ef41Sopenharmony_ci { 25321cb0ef41Sopenharmony_ci "input": "ftp://foo:80/", 25331cb0ef41Sopenharmony_ci "base": null, 25341cb0ef41Sopenharmony_ci "href": "ftp://foo:80/", 25351cb0ef41Sopenharmony_ci "origin": "ftp://foo:80", 25361cb0ef41Sopenharmony_ci "protocol": "ftp:", 25371cb0ef41Sopenharmony_ci "username": "", 25381cb0ef41Sopenharmony_ci "password": "", 25391cb0ef41Sopenharmony_ci "host": "foo:80", 25401cb0ef41Sopenharmony_ci "hostname": "foo", 25411cb0ef41Sopenharmony_ci "port": "80", 25421cb0ef41Sopenharmony_ci "pathname": "/", 25431cb0ef41Sopenharmony_ci "search": "", 25441cb0ef41Sopenharmony_ci "hash": "" 25451cb0ef41Sopenharmony_ci }, 25461cb0ef41Sopenharmony_ci { 25471cb0ef41Sopenharmony_ci "input": "gopher://foo:70/", 25481cb0ef41Sopenharmony_ci "base": null, 25491cb0ef41Sopenharmony_ci "href": "gopher://foo:70/", 25501cb0ef41Sopenharmony_ci "origin": "null", 25511cb0ef41Sopenharmony_ci "protocol": "gopher:", 25521cb0ef41Sopenharmony_ci "username": "", 25531cb0ef41Sopenharmony_ci "password": "", 25541cb0ef41Sopenharmony_ci "host": "foo:70", 25551cb0ef41Sopenharmony_ci "hostname": "foo", 25561cb0ef41Sopenharmony_ci "port": "70", 25571cb0ef41Sopenharmony_ci "pathname": "/", 25581cb0ef41Sopenharmony_ci "search": "", 25591cb0ef41Sopenharmony_ci "hash": "" 25601cb0ef41Sopenharmony_ci }, 25611cb0ef41Sopenharmony_ci { 25621cb0ef41Sopenharmony_ci "input": "gopher://foo:443/", 25631cb0ef41Sopenharmony_ci "base": null, 25641cb0ef41Sopenharmony_ci "href": "gopher://foo:443/", 25651cb0ef41Sopenharmony_ci "origin": "null", 25661cb0ef41Sopenharmony_ci "protocol": "gopher:", 25671cb0ef41Sopenharmony_ci "username": "", 25681cb0ef41Sopenharmony_ci "password": "", 25691cb0ef41Sopenharmony_ci "host": "foo:443", 25701cb0ef41Sopenharmony_ci "hostname": "foo", 25711cb0ef41Sopenharmony_ci "port": "443", 25721cb0ef41Sopenharmony_ci "pathname": "/", 25731cb0ef41Sopenharmony_ci "search": "", 25741cb0ef41Sopenharmony_ci "hash": "" 25751cb0ef41Sopenharmony_ci }, 25761cb0ef41Sopenharmony_ci { 25771cb0ef41Sopenharmony_ci "input": "ws://foo:80/", 25781cb0ef41Sopenharmony_ci "base": null, 25791cb0ef41Sopenharmony_ci "href": "ws://foo/", 25801cb0ef41Sopenharmony_ci "origin": "ws://foo", 25811cb0ef41Sopenharmony_ci "protocol": "ws:", 25821cb0ef41Sopenharmony_ci "username": "", 25831cb0ef41Sopenharmony_ci "password": "", 25841cb0ef41Sopenharmony_ci "host": "foo", 25851cb0ef41Sopenharmony_ci "hostname": "foo", 25861cb0ef41Sopenharmony_ci "port": "", 25871cb0ef41Sopenharmony_ci "pathname": "/", 25881cb0ef41Sopenharmony_ci "search": "", 25891cb0ef41Sopenharmony_ci "hash": "" 25901cb0ef41Sopenharmony_ci }, 25911cb0ef41Sopenharmony_ci { 25921cb0ef41Sopenharmony_ci "input": "ws://foo:81/", 25931cb0ef41Sopenharmony_ci "base": null, 25941cb0ef41Sopenharmony_ci "href": "ws://foo:81/", 25951cb0ef41Sopenharmony_ci "origin": "ws://foo:81", 25961cb0ef41Sopenharmony_ci "protocol": "ws:", 25971cb0ef41Sopenharmony_ci "username": "", 25981cb0ef41Sopenharmony_ci "password": "", 25991cb0ef41Sopenharmony_ci "host": "foo:81", 26001cb0ef41Sopenharmony_ci "hostname": "foo", 26011cb0ef41Sopenharmony_ci "port": "81", 26021cb0ef41Sopenharmony_ci "pathname": "/", 26031cb0ef41Sopenharmony_ci "search": "", 26041cb0ef41Sopenharmony_ci "hash": "" 26051cb0ef41Sopenharmony_ci }, 26061cb0ef41Sopenharmony_ci { 26071cb0ef41Sopenharmony_ci "input": "ws://foo:443/", 26081cb0ef41Sopenharmony_ci "base": null, 26091cb0ef41Sopenharmony_ci "href": "ws://foo:443/", 26101cb0ef41Sopenharmony_ci "origin": "ws://foo:443", 26111cb0ef41Sopenharmony_ci "protocol": "ws:", 26121cb0ef41Sopenharmony_ci "username": "", 26131cb0ef41Sopenharmony_ci "password": "", 26141cb0ef41Sopenharmony_ci "host": "foo:443", 26151cb0ef41Sopenharmony_ci "hostname": "foo", 26161cb0ef41Sopenharmony_ci "port": "443", 26171cb0ef41Sopenharmony_ci "pathname": "/", 26181cb0ef41Sopenharmony_ci "search": "", 26191cb0ef41Sopenharmony_ci "hash": "" 26201cb0ef41Sopenharmony_ci }, 26211cb0ef41Sopenharmony_ci { 26221cb0ef41Sopenharmony_ci "input": "ws://foo:815/", 26231cb0ef41Sopenharmony_ci "base": null, 26241cb0ef41Sopenharmony_ci "href": "ws://foo:815/", 26251cb0ef41Sopenharmony_ci "origin": "ws://foo:815", 26261cb0ef41Sopenharmony_ci "protocol": "ws:", 26271cb0ef41Sopenharmony_ci "username": "", 26281cb0ef41Sopenharmony_ci "password": "", 26291cb0ef41Sopenharmony_ci "host": "foo:815", 26301cb0ef41Sopenharmony_ci "hostname": "foo", 26311cb0ef41Sopenharmony_ci "port": "815", 26321cb0ef41Sopenharmony_ci "pathname": "/", 26331cb0ef41Sopenharmony_ci "search": "", 26341cb0ef41Sopenharmony_ci "hash": "" 26351cb0ef41Sopenharmony_ci }, 26361cb0ef41Sopenharmony_ci { 26371cb0ef41Sopenharmony_ci "input": "wss://foo:80/", 26381cb0ef41Sopenharmony_ci "base": null, 26391cb0ef41Sopenharmony_ci "href": "wss://foo:80/", 26401cb0ef41Sopenharmony_ci "origin": "wss://foo:80", 26411cb0ef41Sopenharmony_ci "protocol": "wss:", 26421cb0ef41Sopenharmony_ci "username": "", 26431cb0ef41Sopenharmony_ci "password": "", 26441cb0ef41Sopenharmony_ci "host": "foo:80", 26451cb0ef41Sopenharmony_ci "hostname": "foo", 26461cb0ef41Sopenharmony_ci "port": "80", 26471cb0ef41Sopenharmony_ci "pathname": "/", 26481cb0ef41Sopenharmony_ci "search": "", 26491cb0ef41Sopenharmony_ci "hash": "" 26501cb0ef41Sopenharmony_ci }, 26511cb0ef41Sopenharmony_ci { 26521cb0ef41Sopenharmony_ci "input": "wss://foo:81/", 26531cb0ef41Sopenharmony_ci "base": null, 26541cb0ef41Sopenharmony_ci "href": "wss://foo:81/", 26551cb0ef41Sopenharmony_ci "origin": "wss://foo:81", 26561cb0ef41Sopenharmony_ci "protocol": "wss:", 26571cb0ef41Sopenharmony_ci "username": "", 26581cb0ef41Sopenharmony_ci "password": "", 26591cb0ef41Sopenharmony_ci "host": "foo:81", 26601cb0ef41Sopenharmony_ci "hostname": "foo", 26611cb0ef41Sopenharmony_ci "port": "81", 26621cb0ef41Sopenharmony_ci "pathname": "/", 26631cb0ef41Sopenharmony_ci "search": "", 26641cb0ef41Sopenharmony_ci "hash": "" 26651cb0ef41Sopenharmony_ci }, 26661cb0ef41Sopenharmony_ci { 26671cb0ef41Sopenharmony_ci "input": "wss://foo:443/", 26681cb0ef41Sopenharmony_ci "base": null, 26691cb0ef41Sopenharmony_ci "href": "wss://foo/", 26701cb0ef41Sopenharmony_ci "origin": "wss://foo", 26711cb0ef41Sopenharmony_ci "protocol": "wss:", 26721cb0ef41Sopenharmony_ci "username": "", 26731cb0ef41Sopenharmony_ci "password": "", 26741cb0ef41Sopenharmony_ci "host": "foo", 26751cb0ef41Sopenharmony_ci "hostname": "foo", 26761cb0ef41Sopenharmony_ci "port": "", 26771cb0ef41Sopenharmony_ci "pathname": "/", 26781cb0ef41Sopenharmony_ci "search": "", 26791cb0ef41Sopenharmony_ci "hash": "" 26801cb0ef41Sopenharmony_ci }, 26811cb0ef41Sopenharmony_ci { 26821cb0ef41Sopenharmony_ci "input": "wss://foo:815/", 26831cb0ef41Sopenharmony_ci "base": null, 26841cb0ef41Sopenharmony_ci "href": "wss://foo:815/", 26851cb0ef41Sopenharmony_ci "origin": "wss://foo:815", 26861cb0ef41Sopenharmony_ci "protocol": "wss:", 26871cb0ef41Sopenharmony_ci "username": "", 26881cb0ef41Sopenharmony_ci "password": "", 26891cb0ef41Sopenharmony_ci "host": "foo:815", 26901cb0ef41Sopenharmony_ci "hostname": "foo", 26911cb0ef41Sopenharmony_ci "port": "815", 26921cb0ef41Sopenharmony_ci "pathname": "/", 26931cb0ef41Sopenharmony_ci "search": "", 26941cb0ef41Sopenharmony_ci "hash": "" 26951cb0ef41Sopenharmony_ci }, 26961cb0ef41Sopenharmony_ci { 26971cb0ef41Sopenharmony_ci "input": "http:/example.com/", 26981cb0ef41Sopenharmony_ci "base": null, 26991cb0ef41Sopenharmony_ci "href": "http://example.com/", 27001cb0ef41Sopenharmony_ci "origin": "http://example.com", 27011cb0ef41Sopenharmony_ci "protocol": "http:", 27021cb0ef41Sopenharmony_ci "username": "", 27031cb0ef41Sopenharmony_ci "password": "", 27041cb0ef41Sopenharmony_ci "host": "example.com", 27051cb0ef41Sopenharmony_ci "hostname": "example.com", 27061cb0ef41Sopenharmony_ci "port": "", 27071cb0ef41Sopenharmony_ci "pathname": "/", 27081cb0ef41Sopenharmony_ci "search": "", 27091cb0ef41Sopenharmony_ci "hash": "" 27101cb0ef41Sopenharmony_ci }, 27111cb0ef41Sopenharmony_ci { 27121cb0ef41Sopenharmony_ci "input": "ftp:/example.com/", 27131cb0ef41Sopenharmony_ci "base": null, 27141cb0ef41Sopenharmony_ci "href": "ftp://example.com/", 27151cb0ef41Sopenharmony_ci "origin": "ftp://example.com", 27161cb0ef41Sopenharmony_ci "protocol": "ftp:", 27171cb0ef41Sopenharmony_ci "username": "", 27181cb0ef41Sopenharmony_ci "password": "", 27191cb0ef41Sopenharmony_ci "host": "example.com", 27201cb0ef41Sopenharmony_ci "hostname": "example.com", 27211cb0ef41Sopenharmony_ci "port": "", 27221cb0ef41Sopenharmony_ci "pathname": "/", 27231cb0ef41Sopenharmony_ci "search": "", 27241cb0ef41Sopenharmony_ci "hash": "" 27251cb0ef41Sopenharmony_ci }, 27261cb0ef41Sopenharmony_ci { 27271cb0ef41Sopenharmony_ci "input": "https:/example.com/", 27281cb0ef41Sopenharmony_ci "base": null, 27291cb0ef41Sopenharmony_ci "href": "https://example.com/", 27301cb0ef41Sopenharmony_ci "origin": "https://example.com", 27311cb0ef41Sopenharmony_ci "protocol": "https:", 27321cb0ef41Sopenharmony_ci "username": "", 27331cb0ef41Sopenharmony_ci "password": "", 27341cb0ef41Sopenharmony_ci "host": "example.com", 27351cb0ef41Sopenharmony_ci "hostname": "example.com", 27361cb0ef41Sopenharmony_ci "port": "", 27371cb0ef41Sopenharmony_ci "pathname": "/", 27381cb0ef41Sopenharmony_ci "search": "", 27391cb0ef41Sopenharmony_ci "hash": "" 27401cb0ef41Sopenharmony_ci }, 27411cb0ef41Sopenharmony_ci { 27421cb0ef41Sopenharmony_ci "input": "madeupscheme:/example.com/", 27431cb0ef41Sopenharmony_ci "base": null, 27441cb0ef41Sopenharmony_ci "href": "madeupscheme:/example.com/", 27451cb0ef41Sopenharmony_ci "origin": "null", 27461cb0ef41Sopenharmony_ci "protocol": "madeupscheme:", 27471cb0ef41Sopenharmony_ci "username": "", 27481cb0ef41Sopenharmony_ci "password": "", 27491cb0ef41Sopenharmony_ci "host": "", 27501cb0ef41Sopenharmony_ci "hostname": "", 27511cb0ef41Sopenharmony_ci "port": "", 27521cb0ef41Sopenharmony_ci "pathname": "/example.com/", 27531cb0ef41Sopenharmony_ci "search": "", 27541cb0ef41Sopenharmony_ci "hash": "" 27551cb0ef41Sopenharmony_ci }, 27561cb0ef41Sopenharmony_ci { 27571cb0ef41Sopenharmony_ci "input": "file:/example.com/", 27581cb0ef41Sopenharmony_ci "base": null, 27591cb0ef41Sopenharmony_ci "href": "file:///example.com/", 27601cb0ef41Sopenharmony_ci "protocol": "file:", 27611cb0ef41Sopenharmony_ci "username": "", 27621cb0ef41Sopenharmony_ci "password": "", 27631cb0ef41Sopenharmony_ci "host": "", 27641cb0ef41Sopenharmony_ci "hostname": "", 27651cb0ef41Sopenharmony_ci "port": "", 27661cb0ef41Sopenharmony_ci "pathname": "/example.com/", 27671cb0ef41Sopenharmony_ci "search": "", 27681cb0ef41Sopenharmony_ci "hash": "" 27691cb0ef41Sopenharmony_ci }, 27701cb0ef41Sopenharmony_ci { 27711cb0ef41Sopenharmony_ci "input": "ftps:/example.com/", 27721cb0ef41Sopenharmony_ci "base": null, 27731cb0ef41Sopenharmony_ci "href": "ftps:/example.com/", 27741cb0ef41Sopenharmony_ci "origin": "null", 27751cb0ef41Sopenharmony_ci "protocol": "ftps:", 27761cb0ef41Sopenharmony_ci "username": "", 27771cb0ef41Sopenharmony_ci "password": "", 27781cb0ef41Sopenharmony_ci "host": "", 27791cb0ef41Sopenharmony_ci "hostname": "", 27801cb0ef41Sopenharmony_ci "port": "", 27811cb0ef41Sopenharmony_ci "pathname": "/example.com/", 27821cb0ef41Sopenharmony_ci "search": "", 27831cb0ef41Sopenharmony_ci "hash": "" 27841cb0ef41Sopenharmony_ci }, 27851cb0ef41Sopenharmony_ci { 27861cb0ef41Sopenharmony_ci "input": "gopher:/example.com/", 27871cb0ef41Sopenharmony_ci "base": null, 27881cb0ef41Sopenharmony_ci "href": "gopher:/example.com/", 27891cb0ef41Sopenharmony_ci "origin": "null", 27901cb0ef41Sopenharmony_ci "protocol": "gopher:", 27911cb0ef41Sopenharmony_ci "username": "", 27921cb0ef41Sopenharmony_ci "password": "", 27931cb0ef41Sopenharmony_ci "host": "", 27941cb0ef41Sopenharmony_ci "hostname": "", 27951cb0ef41Sopenharmony_ci "port": "", 27961cb0ef41Sopenharmony_ci "pathname": "/example.com/", 27971cb0ef41Sopenharmony_ci "search": "", 27981cb0ef41Sopenharmony_ci "hash": "" 27991cb0ef41Sopenharmony_ci }, 28001cb0ef41Sopenharmony_ci { 28011cb0ef41Sopenharmony_ci "input": "ws:/example.com/", 28021cb0ef41Sopenharmony_ci "base": null, 28031cb0ef41Sopenharmony_ci "href": "ws://example.com/", 28041cb0ef41Sopenharmony_ci "origin": "ws://example.com", 28051cb0ef41Sopenharmony_ci "protocol": "ws:", 28061cb0ef41Sopenharmony_ci "username": "", 28071cb0ef41Sopenharmony_ci "password": "", 28081cb0ef41Sopenharmony_ci "host": "example.com", 28091cb0ef41Sopenharmony_ci "hostname": "example.com", 28101cb0ef41Sopenharmony_ci "port": "", 28111cb0ef41Sopenharmony_ci "pathname": "/", 28121cb0ef41Sopenharmony_ci "search": "", 28131cb0ef41Sopenharmony_ci "hash": "" 28141cb0ef41Sopenharmony_ci }, 28151cb0ef41Sopenharmony_ci { 28161cb0ef41Sopenharmony_ci "input": "wss:/example.com/", 28171cb0ef41Sopenharmony_ci "base": null, 28181cb0ef41Sopenharmony_ci "href": "wss://example.com/", 28191cb0ef41Sopenharmony_ci "origin": "wss://example.com", 28201cb0ef41Sopenharmony_ci "protocol": "wss:", 28211cb0ef41Sopenharmony_ci "username": "", 28221cb0ef41Sopenharmony_ci "password": "", 28231cb0ef41Sopenharmony_ci "host": "example.com", 28241cb0ef41Sopenharmony_ci "hostname": "example.com", 28251cb0ef41Sopenharmony_ci "port": "", 28261cb0ef41Sopenharmony_ci "pathname": "/", 28271cb0ef41Sopenharmony_ci "search": "", 28281cb0ef41Sopenharmony_ci "hash": "" 28291cb0ef41Sopenharmony_ci }, 28301cb0ef41Sopenharmony_ci { 28311cb0ef41Sopenharmony_ci "input": "data:/example.com/", 28321cb0ef41Sopenharmony_ci "base": null, 28331cb0ef41Sopenharmony_ci "href": "data:/example.com/", 28341cb0ef41Sopenharmony_ci "origin": "null", 28351cb0ef41Sopenharmony_ci "protocol": "data:", 28361cb0ef41Sopenharmony_ci "username": "", 28371cb0ef41Sopenharmony_ci "password": "", 28381cb0ef41Sopenharmony_ci "host": "", 28391cb0ef41Sopenharmony_ci "hostname": "", 28401cb0ef41Sopenharmony_ci "port": "", 28411cb0ef41Sopenharmony_ci "pathname": "/example.com/", 28421cb0ef41Sopenharmony_ci "search": "", 28431cb0ef41Sopenharmony_ci "hash": "" 28441cb0ef41Sopenharmony_ci }, 28451cb0ef41Sopenharmony_ci { 28461cb0ef41Sopenharmony_ci "input": "javascript:/example.com/", 28471cb0ef41Sopenharmony_ci "base": null, 28481cb0ef41Sopenharmony_ci "href": "javascript:/example.com/", 28491cb0ef41Sopenharmony_ci "origin": "null", 28501cb0ef41Sopenharmony_ci "protocol": "javascript:", 28511cb0ef41Sopenharmony_ci "username": "", 28521cb0ef41Sopenharmony_ci "password": "", 28531cb0ef41Sopenharmony_ci "host": "", 28541cb0ef41Sopenharmony_ci "hostname": "", 28551cb0ef41Sopenharmony_ci "port": "", 28561cb0ef41Sopenharmony_ci "pathname": "/example.com/", 28571cb0ef41Sopenharmony_ci "search": "", 28581cb0ef41Sopenharmony_ci "hash": "" 28591cb0ef41Sopenharmony_ci }, 28601cb0ef41Sopenharmony_ci { 28611cb0ef41Sopenharmony_ci "input": "mailto:/example.com/", 28621cb0ef41Sopenharmony_ci "base": null, 28631cb0ef41Sopenharmony_ci "href": "mailto:/example.com/", 28641cb0ef41Sopenharmony_ci "origin": "null", 28651cb0ef41Sopenharmony_ci "protocol": "mailto:", 28661cb0ef41Sopenharmony_ci "username": "", 28671cb0ef41Sopenharmony_ci "password": "", 28681cb0ef41Sopenharmony_ci "host": "", 28691cb0ef41Sopenharmony_ci "hostname": "", 28701cb0ef41Sopenharmony_ci "port": "", 28711cb0ef41Sopenharmony_ci "pathname": "/example.com/", 28721cb0ef41Sopenharmony_ci "search": "", 28731cb0ef41Sopenharmony_ci "hash": "" 28741cb0ef41Sopenharmony_ci }, 28751cb0ef41Sopenharmony_ci { 28761cb0ef41Sopenharmony_ci "input": "http:example.com/", 28771cb0ef41Sopenharmony_ci "base": null, 28781cb0ef41Sopenharmony_ci "href": "http://example.com/", 28791cb0ef41Sopenharmony_ci "origin": "http://example.com", 28801cb0ef41Sopenharmony_ci "protocol": "http:", 28811cb0ef41Sopenharmony_ci "username": "", 28821cb0ef41Sopenharmony_ci "password": "", 28831cb0ef41Sopenharmony_ci "host": "example.com", 28841cb0ef41Sopenharmony_ci "hostname": "example.com", 28851cb0ef41Sopenharmony_ci "port": "", 28861cb0ef41Sopenharmony_ci "pathname": "/", 28871cb0ef41Sopenharmony_ci "search": "", 28881cb0ef41Sopenharmony_ci "hash": "" 28891cb0ef41Sopenharmony_ci }, 28901cb0ef41Sopenharmony_ci { 28911cb0ef41Sopenharmony_ci "input": "ftp:example.com/", 28921cb0ef41Sopenharmony_ci "base": null, 28931cb0ef41Sopenharmony_ci "href": "ftp://example.com/", 28941cb0ef41Sopenharmony_ci "origin": "ftp://example.com", 28951cb0ef41Sopenharmony_ci "protocol": "ftp:", 28961cb0ef41Sopenharmony_ci "username": "", 28971cb0ef41Sopenharmony_ci "password": "", 28981cb0ef41Sopenharmony_ci "host": "example.com", 28991cb0ef41Sopenharmony_ci "hostname": "example.com", 29001cb0ef41Sopenharmony_ci "port": "", 29011cb0ef41Sopenharmony_ci "pathname": "/", 29021cb0ef41Sopenharmony_ci "search": "", 29031cb0ef41Sopenharmony_ci "hash": "" 29041cb0ef41Sopenharmony_ci }, 29051cb0ef41Sopenharmony_ci { 29061cb0ef41Sopenharmony_ci "input": "https:example.com/", 29071cb0ef41Sopenharmony_ci "base": null, 29081cb0ef41Sopenharmony_ci "href": "https://example.com/", 29091cb0ef41Sopenharmony_ci "origin": "https://example.com", 29101cb0ef41Sopenharmony_ci "protocol": "https:", 29111cb0ef41Sopenharmony_ci "username": "", 29121cb0ef41Sopenharmony_ci "password": "", 29131cb0ef41Sopenharmony_ci "host": "example.com", 29141cb0ef41Sopenharmony_ci "hostname": "example.com", 29151cb0ef41Sopenharmony_ci "port": "", 29161cb0ef41Sopenharmony_ci "pathname": "/", 29171cb0ef41Sopenharmony_ci "search": "", 29181cb0ef41Sopenharmony_ci "hash": "" 29191cb0ef41Sopenharmony_ci }, 29201cb0ef41Sopenharmony_ci { 29211cb0ef41Sopenharmony_ci "input": "madeupscheme:example.com/", 29221cb0ef41Sopenharmony_ci "base": null, 29231cb0ef41Sopenharmony_ci "href": "madeupscheme:example.com/", 29241cb0ef41Sopenharmony_ci "origin": "null", 29251cb0ef41Sopenharmony_ci "protocol": "madeupscheme:", 29261cb0ef41Sopenharmony_ci "username": "", 29271cb0ef41Sopenharmony_ci "password": "", 29281cb0ef41Sopenharmony_ci "host": "", 29291cb0ef41Sopenharmony_ci "hostname": "", 29301cb0ef41Sopenharmony_ci "port": "", 29311cb0ef41Sopenharmony_ci "pathname": "example.com/", 29321cb0ef41Sopenharmony_ci "search": "", 29331cb0ef41Sopenharmony_ci "hash": "" 29341cb0ef41Sopenharmony_ci }, 29351cb0ef41Sopenharmony_ci { 29361cb0ef41Sopenharmony_ci "input": "ftps:example.com/", 29371cb0ef41Sopenharmony_ci "base": null, 29381cb0ef41Sopenharmony_ci "href": "ftps:example.com/", 29391cb0ef41Sopenharmony_ci "origin": "null", 29401cb0ef41Sopenharmony_ci "protocol": "ftps:", 29411cb0ef41Sopenharmony_ci "username": "", 29421cb0ef41Sopenharmony_ci "password": "", 29431cb0ef41Sopenharmony_ci "host": "", 29441cb0ef41Sopenharmony_ci "hostname": "", 29451cb0ef41Sopenharmony_ci "port": "", 29461cb0ef41Sopenharmony_ci "pathname": "example.com/", 29471cb0ef41Sopenharmony_ci "search": "", 29481cb0ef41Sopenharmony_ci "hash": "" 29491cb0ef41Sopenharmony_ci }, 29501cb0ef41Sopenharmony_ci { 29511cb0ef41Sopenharmony_ci "input": "gopher:example.com/", 29521cb0ef41Sopenharmony_ci "base": null, 29531cb0ef41Sopenharmony_ci "href": "gopher:example.com/", 29541cb0ef41Sopenharmony_ci "origin": "null", 29551cb0ef41Sopenharmony_ci "protocol": "gopher:", 29561cb0ef41Sopenharmony_ci "username": "", 29571cb0ef41Sopenharmony_ci "password": "", 29581cb0ef41Sopenharmony_ci "host": "", 29591cb0ef41Sopenharmony_ci "hostname": "", 29601cb0ef41Sopenharmony_ci "port": "", 29611cb0ef41Sopenharmony_ci "pathname": "example.com/", 29621cb0ef41Sopenharmony_ci "search": "", 29631cb0ef41Sopenharmony_ci "hash": "" 29641cb0ef41Sopenharmony_ci }, 29651cb0ef41Sopenharmony_ci { 29661cb0ef41Sopenharmony_ci "input": "ws:example.com/", 29671cb0ef41Sopenharmony_ci "base": null, 29681cb0ef41Sopenharmony_ci "href": "ws://example.com/", 29691cb0ef41Sopenharmony_ci "origin": "ws://example.com", 29701cb0ef41Sopenharmony_ci "protocol": "ws:", 29711cb0ef41Sopenharmony_ci "username": "", 29721cb0ef41Sopenharmony_ci "password": "", 29731cb0ef41Sopenharmony_ci "host": "example.com", 29741cb0ef41Sopenharmony_ci "hostname": "example.com", 29751cb0ef41Sopenharmony_ci "port": "", 29761cb0ef41Sopenharmony_ci "pathname": "/", 29771cb0ef41Sopenharmony_ci "search": "", 29781cb0ef41Sopenharmony_ci "hash": "" 29791cb0ef41Sopenharmony_ci }, 29801cb0ef41Sopenharmony_ci { 29811cb0ef41Sopenharmony_ci "input": "wss:example.com/", 29821cb0ef41Sopenharmony_ci "base": null, 29831cb0ef41Sopenharmony_ci "href": "wss://example.com/", 29841cb0ef41Sopenharmony_ci "origin": "wss://example.com", 29851cb0ef41Sopenharmony_ci "protocol": "wss:", 29861cb0ef41Sopenharmony_ci "username": "", 29871cb0ef41Sopenharmony_ci "password": "", 29881cb0ef41Sopenharmony_ci "host": "example.com", 29891cb0ef41Sopenharmony_ci "hostname": "example.com", 29901cb0ef41Sopenharmony_ci "port": "", 29911cb0ef41Sopenharmony_ci "pathname": "/", 29921cb0ef41Sopenharmony_ci "search": "", 29931cb0ef41Sopenharmony_ci "hash": "" 29941cb0ef41Sopenharmony_ci }, 29951cb0ef41Sopenharmony_ci { 29961cb0ef41Sopenharmony_ci "input": "data:example.com/", 29971cb0ef41Sopenharmony_ci "base": null, 29981cb0ef41Sopenharmony_ci "href": "data:example.com/", 29991cb0ef41Sopenharmony_ci "origin": "null", 30001cb0ef41Sopenharmony_ci "protocol": "data:", 30011cb0ef41Sopenharmony_ci "username": "", 30021cb0ef41Sopenharmony_ci "password": "", 30031cb0ef41Sopenharmony_ci "host": "", 30041cb0ef41Sopenharmony_ci "hostname": "", 30051cb0ef41Sopenharmony_ci "port": "", 30061cb0ef41Sopenharmony_ci "pathname": "example.com/", 30071cb0ef41Sopenharmony_ci "search": "", 30081cb0ef41Sopenharmony_ci "hash": "" 30091cb0ef41Sopenharmony_ci }, 30101cb0ef41Sopenharmony_ci { 30111cb0ef41Sopenharmony_ci "input": "javascript:example.com/", 30121cb0ef41Sopenharmony_ci "base": null, 30131cb0ef41Sopenharmony_ci "href": "javascript:example.com/", 30141cb0ef41Sopenharmony_ci "origin": "null", 30151cb0ef41Sopenharmony_ci "protocol": "javascript:", 30161cb0ef41Sopenharmony_ci "username": "", 30171cb0ef41Sopenharmony_ci "password": "", 30181cb0ef41Sopenharmony_ci "host": "", 30191cb0ef41Sopenharmony_ci "hostname": "", 30201cb0ef41Sopenharmony_ci "port": "", 30211cb0ef41Sopenharmony_ci "pathname": "example.com/", 30221cb0ef41Sopenharmony_ci "search": "", 30231cb0ef41Sopenharmony_ci "hash": "" 30241cb0ef41Sopenharmony_ci }, 30251cb0ef41Sopenharmony_ci { 30261cb0ef41Sopenharmony_ci "input": "mailto:example.com/", 30271cb0ef41Sopenharmony_ci "base": null, 30281cb0ef41Sopenharmony_ci "href": "mailto:example.com/", 30291cb0ef41Sopenharmony_ci "origin": "null", 30301cb0ef41Sopenharmony_ci "protocol": "mailto:", 30311cb0ef41Sopenharmony_ci "username": "", 30321cb0ef41Sopenharmony_ci "password": "", 30331cb0ef41Sopenharmony_ci "host": "", 30341cb0ef41Sopenharmony_ci "hostname": "", 30351cb0ef41Sopenharmony_ci "port": "", 30361cb0ef41Sopenharmony_ci "pathname": "example.com/", 30371cb0ef41Sopenharmony_ci "search": "", 30381cb0ef41Sopenharmony_ci "hash": "" 30391cb0ef41Sopenharmony_ci }, 30401cb0ef41Sopenharmony_ci "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/segments-userinfo-vs-host.html", 30411cb0ef41Sopenharmony_ci { 30421cb0ef41Sopenharmony_ci "input": "http:@www.example.com", 30431cb0ef41Sopenharmony_ci "base": null, 30441cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 30451cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 30461cb0ef41Sopenharmony_ci "protocol": "http:", 30471cb0ef41Sopenharmony_ci "username": "", 30481cb0ef41Sopenharmony_ci "password": "", 30491cb0ef41Sopenharmony_ci "host": "www.example.com", 30501cb0ef41Sopenharmony_ci "hostname": "www.example.com", 30511cb0ef41Sopenharmony_ci "port": "", 30521cb0ef41Sopenharmony_ci "pathname": "/", 30531cb0ef41Sopenharmony_ci "search": "", 30541cb0ef41Sopenharmony_ci "hash": "" 30551cb0ef41Sopenharmony_ci }, 30561cb0ef41Sopenharmony_ci { 30571cb0ef41Sopenharmony_ci "input": "http:/@www.example.com", 30581cb0ef41Sopenharmony_ci "base": null, 30591cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 30601cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 30611cb0ef41Sopenharmony_ci "protocol": "http:", 30621cb0ef41Sopenharmony_ci "username": "", 30631cb0ef41Sopenharmony_ci "password": "", 30641cb0ef41Sopenharmony_ci "host": "www.example.com", 30651cb0ef41Sopenharmony_ci "hostname": "www.example.com", 30661cb0ef41Sopenharmony_ci "port": "", 30671cb0ef41Sopenharmony_ci "pathname": "/", 30681cb0ef41Sopenharmony_ci "search": "", 30691cb0ef41Sopenharmony_ci "hash": "" 30701cb0ef41Sopenharmony_ci }, 30711cb0ef41Sopenharmony_ci { 30721cb0ef41Sopenharmony_ci "input": "http://@www.example.com", 30731cb0ef41Sopenharmony_ci "base": null, 30741cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 30751cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 30761cb0ef41Sopenharmony_ci "protocol": "http:", 30771cb0ef41Sopenharmony_ci "username": "", 30781cb0ef41Sopenharmony_ci "password": "", 30791cb0ef41Sopenharmony_ci "host": "www.example.com", 30801cb0ef41Sopenharmony_ci "hostname": "www.example.com", 30811cb0ef41Sopenharmony_ci "port": "", 30821cb0ef41Sopenharmony_ci "pathname": "/", 30831cb0ef41Sopenharmony_ci "search": "", 30841cb0ef41Sopenharmony_ci "hash": "" 30851cb0ef41Sopenharmony_ci }, 30861cb0ef41Sopenharmony_ci { 30871cb0ef41Sopenharmony_ci "input": "http:a:b@www.example.com", 30881cb0ef41Sopenharmony_ci "base": null, 30891cb0ef41Sopenharmony_ci "href": "http://a:b@www.example.com/", 30901cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 30911cb0ef41Sopenharmony_ci "protocol": "http:", 30921cb0ef41Sopenharmony_ci "username": "a", 30931cb0ef41Sopenharmony_ci "password": "b", 30941cb0ef41Sopenharmony_ci "host": "www.example.com", 30951cb0ef41Sopenharmony_ci "hostname": "www.example.com", 30961cb0ef41Sopenharmony_ci "port": "", 30971cb0ef41Sopenharmony_ci "pathname": "/", 30981cb0ef41Sopenharmony_ci "search": "", 30991cb0ef41Sopenharmony_ci "hash": "" 31001cb0ef41Sopenharmony_ci }, 31011cb0ef41Sopenharmony_ci { 31021cb0ef41Sopenharmony_ci "input": "http:/a:b@www.example.com", 31031cb0ef41Sopenharmony_ci "base": null, 31041cb0ef41Sopenharmony_ci "href": "http://a:b@www.example.com/", 31051cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 31061cb0ef41Sopenharmony_ci "protocol": "http:", 31071cb0ef41Sopenharmony_ci "username": "a", 31081cb0ef41Sopenharmony_ci "password": "b", 31091cb0ef41Sopenharmony_ci "host": "www.example.com", 31101cb0ef41Sopenharmony_ci "hostname": "www.example.com", 31111cb0ef41Sopenharmony_ci "port": "", 31121cb0ef41Sopenharmony_ci "pathname": "/", 31131cb0ef41Sopenharmony_ci "search": "", 31141cb0ef41Sopenharmony_ci "hash": "" 31151cb0ef41Sopenharmony_ci }, 31161cb0ef41Sopenharmony_ci { 31171cb0ef41Sopenharmony_ci "input": "http://a:b@www.example.com", 31181cb0ef41Sopenharmony_ci "base": null, 31191cb0ef41Sopenharmony_ci "href": "http://a:b@www.example.com/", 31201cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 31211cb0ef41Sopenharmony_ci "protocol": "http:", 31221cb0ef41Sopenharmony_ci "username": "a", 31231cb0ef41Sopenharmony_ci "password": "b", 31241cb0ef41Sopenharmony_ci "host": "www.example.com", 31251cb0ef41Sopenharmony_ci "hostname": "www.example.com", 31261cb0ef41Sopenharmony_ci "port": "", 31271cb0ef41Sopenharmony_ci "pathname": "/", 31281cb0ef41Sopenharmony_ci "search": "", 31291cb0ef41Sopenharmony_ci "hash": "" 31301cb0ef41Sopenharmony_ci }, 31311cb0ef41Sopenharmony_ci { 31321cb0ef41Sopenharmony_ci "input": "http://@pple.com", 31331cb0ef41Sopenharmony_ci "base": null, 31341cb0ef41Sopenharmony_ci "href": "http://pple.com/", 31351cb0ef41Sopenharmony_ci "origin": "http://pple.com", 31361cb0ef41Sopenharmony_ci "protocol": "http:", 31371cb0ef41Sopenharmony_ci "username": "", 31381cb0ef41Sopenharmony_ci "password": "", 31391cb0ef41Sopenharmony_ci "host": "pple.com", 31401cb0ef41Sopenharmony_ci "hostname": "pple.com", 31411cb0ef41Sopenharmony_ci "port": "", 31421cb0ef41Sopenharmony_ci "pathname": "/", 31431cb0ef41Sopenharmony_ci "search": "", 31441cb0ef41Sopenharmony_ci "hash": "" 31451cb0ef41Sopenharmony_ci }, 31461cb0ef41Sopenharmony_ci { 31471cb0ef41Sopenharmony_ci "input": "http::b@www.example.com", 31481cb0ef41Sopenharmony_ci "base": null, 31491cb0ef41Sopenharmony_ci "href": "http://:b@www.example.com/", 31501cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 31511cb0ef41Sopenharmony_ci "protocol": "http:", 31521cb0ef41Sopenharmony_ci "username": "", 31531cb0ef41Sopenharmony_ci "password": "b", 31541cb0ef41Sopenharmony_ci "host": "www.example.com", 31551cb0ef41Sopenharmony_ci "hostname": "www.example.com", 31561cb0ef41Sopenharmony_ci "port": "", 31571cb0ef41Sopenharmony_ci "pathname": "/", 31581cb0ef41Sopenharmony_ci "search": "", 31591cb0ef41Sopenharmony_ci "hash": "" 31601cb0ef41Sopenharmony_ci }, 31611cb0ef41Sopenharmony_ci { 31621cb0ef41Sopenharmony_ci "input": "http:/:b@www.example.com", 31631cb0ef41Sopenharmony_ci "base": null, 31641cb0ef41Sopenharmony_ci "href": "http://:b@www.example.com/", 31651cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 31661cb0ef41Sopenharmony_ci "protocol": "http:", 31671cb0ef41Sopenharmony_ci "username": "", 31681cb0ef41Sopenharmony_ci "password": "b", 31691cb0ef41Sopenharmony_ci "host": "www.example.com", 31701cb0ef41Sopenharmony_ci "hostname": "www.example.com", 31711cb0ef41Sopenharmony_ci "port": "", 31721cb0ef41Sopenharmony_ci "pathname": "/", 31731cb0ef41Sopenharmony_ci "search": "", 31741cb0ef41Sopenharmony_ci "hash": "" 31751cb0ef41Sopenharmony_ci }, 31761cb0ef41Sopenharmony_ci { 31771cb0ef41Sopenharmony_ci "input": "http://:b@www.example.com", 31781cb0ef41Sopenharmony_ci "base": null, 31791cb0ef41Sopenharmony_ci "href": "http://:b@www.example.com/", 31801cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 31811cb0ef41Sopenharmony_ci "protocol": "http:", 31821cb0ef41Sopenharmony_ci "username": "", 31831cb0ef41Sopenharmony_ci "password": "b", 31841cb0ef41Sopenharmony_ci "host": "www.example.com", 31851cb0ef41Sopenharmony_ci "hostname": "www.example.com", 31861cb0ef41Sopenharmony_ci "port": "", 31871cb0ef41Sopenharmony_ci "pathname": "/", 31881cb0ef41Sopenharmony_ci "search": "", 31891cb0ef41Sopenharmony_ci "hash": "" 31901cb0ef41Sopenharmony_ci }, 31911cb0ef41Sopenharmony_ci { 31921cb0ef41Sopenharmony_ci "input": "http:/:@/www.example.com", 31931cb0ef41Sopenharmony_ci "base": null, 31941cb0ef41Sopenharmony_ci "failure": true, 31951cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 31961cb0ef41Sopenharmony_ci }, 31971cb0ef41Sopenharmony_ci { 31981cb0ef41Sopenharmony_ci "input": "http://user@/www.example.com", 31991cb0ef41Sopenharmony_ci "base": null, 32001cb0ef41Sopenharmony_ci "failure": true 32011cb0ef41Sopenharmony_ci }, 32021cb0ef41Sopenharmony_ci { 32031cb0ef41Sopenharmony_ci "input": "http:@/www.example.com", 32041cb0ef41Sopenharmony_ci "base": null, 32051cb0ef41Sopenharmony_ci "failure": true, 32061cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32071cb0ef41Sopenharmony_ci }, 32081cb0ef41Sopenharmony_ci { 32091cb0ef41Sopenharmony_ci "input": "http:/@/www.example.com", 32101cb0ef41Sopenharmony_ci "base": null, 32111cb0ef41Sopenharmony_ci "failure": true, 32121cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32131cb0ef41Sopenharmony_ci }, 32141cb0ef41Sopenharmony_ci { 32151cb0ef41Sopenharmony_ci "input": "http://@/www.example.com", 32161cb0ef41Sopenharmony_ci "base": null, 32171cb0ef41Sopenharmony_ci "failure": true 32181cb0ef41Sopenharmony_ci }, 32191cb0ef41Sopenharmony_ci { 32201cb0ef41Sopenharmony_ci "input": "https:@/www.example.com", 32211cb0ef41Sopenharmony_ci "base": null, 32221cb0ef41Sopenharmony_ci "failure": true, 32231cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32241cb0ef41Sopenharmony_ci }, 32251cb0ef41Sopenharmony_ci { 32261cb0ef41Sopenharmony_ci "input": "http:a:b@/www.example.com", 32271cb0ef41Sopenharmony_ci "base": null, 32281cb0ef41Sopenharmony_ci "failure": true, 32291cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32301cb0ef41Sopenharmony_ci }, 32311cb0ef41Sopenharmony_ci { 32321cb0ef41Sopenharmony_ci "input": "http:/a:b@/www.example.com", 32331cb0ef41Sopenharmony_ci "base": null, 32341cb0ef41Sopenharmony_ci "failure": true, 32351cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32361cb0ef41Sopenharmony_ci }, 32371cb0ef41Sopenharmony_ci { 32381cb0ef41Sopenharmony_ci "input": "http://a:b@/www.example.com", 32391cb0ef41Sopenharmony_ci "base": null, 32401cb0ef41Sopenharmony_ci "failure": true 32411cb0ef41Sopenharmony_ci }, 32421cb0ef41Sopenharmony_ci { 32431cb0ef41Sopenharmony_ci "input": "http::@/www.example.com", 32441cb0ef41Sopenharmony_ci "base": null, 32451cb0ef41Sopenharmony_ci "failure": true, 32461cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 32471cb0ef41Sopenharmony_ci }, 32481cb0ef41Sopenharmony_ci { 32491cb0ef41Sopenharmony_ci "input": "http:a:@www.example.com", 32501cb0ef41Sopenharmony_ci "base": null, 32511cb0ef41Sopenharmony_ci "href": "http://a@www.example.com/", 32521cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 32531cb0ef41Sopenharmony_ci "protocol": "http:", 32541cb0ef41Sopenharmony_ci "username": "a", 32551cb0ef41Sopenharmony_ci "password": "", 32561cb0ef41Sopenharmony_ci "host": "www.example.com", 32571cb0ef41Sopenharmony_ci "hostname": "www.example.com", 32581cb0ef41Sopenharmony_ci "port": "", 32591cb0ef41Sopenharmony_ci "pathname": "/", 32601cb0ef41Sopenharmony_ci "search": "", 32611cb0ef41Sopenharmony_ci "hash": "" 32621cb0ef41Sopenharmony_ci }, 32631cb0ef41Sopenharmony_ci { 32641cb0ef41Sopenharmony_ci "input": "http:/a:@www.example.com", 32651cb0ef41Sopenharmony_ci "base": null, 32661cb0ef41Sopenharmony_ci "href": "http://a@www.example.com/", 32671cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 32681cb0ef41Sopenharmony_ci "protocol": "http:", 32691cb0ef41Sopenharmony_ci "username": "a", 32701cb0ef41Sopenharmony_ci "password": "", 32711cb0ef41Sopenharmony_ci "host": "www.example.com", 32721cb0ef41Sopenharmony_ci "hostname": "www.example.com", 32731cb0ef41Sopenharmony_ci "port": "", 32741cb0ef41Sopenharmony_ci "pathname": "/", 32751cb0ef41Sopenharmony_ci "search": "", 32761cb0ef41Sopenharmony_ci "hash": "" 32771cb0ef41Sopenharmony_ci }, 32781cb0ef41Sopenharmony_ci { 32791cb0ef41Sopenharmony_ci "input": "http://a:@www.example.com", 32801cb0ef41Sopenharmony_ci "base": null, 32811cb0ef41Sopenharmony_ci "href": "http://a@www.example.com/", 32821cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 32831cb0ef41Sopenharmony_ci "protocol": "http:", 32841cb0ef41Sopenharmony_ci "username": "a", 32851cb0ef41Sopenharmony_ci "password": "", 32861cb0ef41Sopenharmony_ci "host": "www.example.com", 32871cb0ef41Sopenharmony_ci "hostname": "www.example.com", 32881cb0ef41Sopenharmony_ci "port": "", 32891cb0ef41Sopenharmony_ci "pathname": "/", 32901cb0ef41Sopenharmony_ci "search": "", 32911cb0ef41Sopenharmony_ci "hash": "" 32921cb0ef41Sopenharmony_ci }, 32931cb0ef41Sopenharmony_ci { 32941cb0ef41Sopenharmony_ci "input": "http://www.@pple.com", 32951cb0ef41Sopenharmony_ci "base": null, 32961cb0ef41Sopenharmony_ci "href": "http://www.@pple.com/", 32971cb0ef41Sopenharmony_ci "origin": "http://pple.com", 32981cb0ef41Sopenharmony_ci "protocol": "http:", 32991cb0ef41Sopenharmony_ci "username": "www.", 33001cb0ef41Sopenharmony_ci "password": "", 33011cb0ef41Sopenharmony_ci "host": "pple.com", 33021cb0ef41Sopenharmony_ci "hostname": "pple.com", 33031cb0ef41Sopenharmony_ci "port": "", 33041cb0ef41Sopenharmony_ci "pathname": "/", 33051cb0ef41Sopenharmony_ci "search": "", 33061cb0ef41Sopenharmony_ci "hash": "" 33071cb0ef41Sopenharmony_ci }, 33081cb0ef41Sopenharmony_ci { 33091cb0ef41Sopenharmony_ci "input": "http:@:www.example.com", 33101cb0ef41Sopenharmony_ci "base": null, 33111cb0ef41Sopenharmony_ci "failure": true, 33121cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 33131cb0ef41Sopenharmony_ci }, 33141cb0ef41Sopenharmony_ci { 33151cb0ef41Sopenharmony_ci "input": "http:/@:www.example.com", 33161cb0ef41Sopenharmony_ci "base": null, 33171cb0ef41Sopenharmony_ci "failure": true, 33181cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 33191cb0ef41Sopenharmony_ci }, 33201cb0ef41Sopenharmony_ci { 33211cb0ef41Sopenharmony_ci "input": "http://@:www.example.com", 33221cb0ef41Sopenharmony_ci "base": null, 33231cb0ef41Sopenharmony_ci "failure": true 33241cb0ef41Sopenharmony_ci }, 33251cb0ef41Sopenharmony_ci { 33261cb0ef41Sopenharmony_ci "input": "http://:@www.example.com", 33271cb0ef41Sopenharmony_ci "base": null, 33281cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 33291cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 33301cb0ef41Sopenharmony_ci "protocol": "http:", 33311cb0ef41Sopenharmony_ci "username": "", 33321cb0ef41Sopenharmony_ci "password": "", 33331cb0ef41Sopenharmony_ci "host": "www.example.com", 33341cb0ef41Sopenharmony_ci "hostname": "www.example.com", 33351cb0ef41Sopenharmony_ci "port": "", 33361cb0ef41Sopenharmony_ci "pathname": "/", 33371cb0ef41Sopenharmony_ci "search": "", 33381cb0ef41Sopenharmony_ci "hash": "" 33391cb0ef41Sopenharmony_ci }, 33401cb0ef41Sopenharmony_ci "# Others", 33411cb0ef41Sopenharmony_ci { 33421cb0ef41Sopenharmony_ci "input": "/", 33431cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 33441cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 33451cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 33461cb0ef41Sopenharmony_ci "protocol": "http:", 33471cb0ef41Sopenharmony_ci "username": "", 33481cb0ef41Sopenharmony_ci "password": "", 33491cb0ef41Sopenharmony_ci "host": "www.example.com", 33501cb0ef41Sopenharmony_ci "hostname": "www.example.com", 33511cb0ef41Sopenharmony_ci "port": "", 33521cb0ef41Sopenharmony_ci "pathname": "/", 33531cb0ef41Sopenharmony_ci "search": "", 33541cb0ef41Sopenharmony_ci "hash": "" 33551cb0ef41Sopenharmony_ci }, 33561cb0ef41Sopenharmony_ci { 33571cb0ef41Sopenharmony_ci "input": "/test.txt", 33581cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 33591cb0ef41Sopenharmony_ci "href": "http://www.example.com/test.txt", 33601cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 33611cb0ef41Sopenharmony_ci "protocol": "http:", 33621cb0ef41Sopenharmony_ci "username": "", 33631cb0ef41Sopenharmony_ci "password": "", 33641cb0ef41Sopenharmony_ci "host": "www.example.com", 33651cb0ef41Sopenharmony_ci "hostname": "www.example.com", 33661cb0ef41Sopenharmony_ci "port": "", 33671cb0ef41Sopenharmony_ci "pathname": "/test.txt", 33681cb0ef41Sopenharmony_ci "search": "", 33691cb0ef41Sopenharmony_ci "hash": "" 33701cb0ef41Sopenharmony_ci }, 33711cb0ef41Sopenharmony_ci { 33721cb0ef41Sopenharmony_ci "input": ".", 33731cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 33741cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 33751cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 33761cb0ef41Sopenharmony_ci "protocol": "http:", 33771cb0ef41Sopenharmony_ci "username": "", 33781cb0ef41Sopenharmony_ci "password": "", 33791cb0ef41Sopenharmony_ci "host": "www.example.com", 33801cb0ef41Sopenharmony_ci "hostname": "www.example.com", 33811cb0ef41Sopenharmony_ci "port": "", 33821cb0ef41Sopenharmony_ci "pathname": "/", 33831cb0ef41Sopenharmony_ci "search": "", 33841cb0ef41Sopenharmony_ci "hash": "" 33851cb0ef41Sopenharmony_ci }, 33861cb0ef41Sopenharmony_ci { 33871cb0ef41Sopenharmony_ci "input": "..", 33881cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 33891cb0ef41Sopenharmony_ci "href": "http://www.example.com/", 33901cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 33911cb0ef41Sopenharmony_ci "protocol": "http:", 33921cb0ef41Sopenharmony_ci "username": "", 33931cb0ef41Sopenharmony_ci "password": "", 33941cb0ef41Sopenharmony_ci "host": "www.example.com", 33951cb0ef41Sopenharmony_ci "hostname": "www.example.com", 33961cb0ef41Sopenharmony_ci "port": "", 33971cb0ef41Sopenharmony_ci "pathname": "/", 33981cb0ef41Sopenharmony_ci "search": "", 33991cb0ef41Sopenharmony_ci "hash": "" 34001cb0ef41Sopenharmony_ci }, 34011cb0ef41Sopenharmony_ci { 34021cb0ef41Sopenharmony_ci "input": "test.txt", 34031cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34041cb0ef41Sopenharmony_ci "href": "http://www.example.com/test.txt", 34051cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34061cb0ef41Sopenharmony_ci "protocol": "http:", 34071cb0ef41Sopenharmony_ci "username": "", 34081cb0ef41Sopenharmony_ci "password": "", 34091cb0ef41Sopenharmony_ci "host": "www.example.com", 34101cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34111cb0ef41Sopenharmony_ci "port": "", 34121cb0ef41Sopenharmony_ci "pathname": "/test.txt", 34131cb0ef41Sopenharmony_ci "search": "", 34141cb0ef41Sopenharmony_ci "hash": "" 34151cb0ef41Sopenharmony_ci }, 34161cb0ef41Sopenharmony_ci { 34171cb0ef41Sopenharmony_ci "input": "./test.txt", 34181cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34191cb0ef41Sopenharmony_ci "href": "http://www.example.com/test.txt", 34201cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34211cb0ef41Sopenharmony_ci "protocol": "http:", 34221cb0ef41Sopenharmony_ci "username": "", 34231cb0ef41Sopenharmony_ci "password": "", 34241cb0ef41Sopenharmony_ci "host": "www.example.com", 34251cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34261cb0ef41Sopenharmony_ci "port": "", 34271cb0ef41Sopenharmony_ci "pathname": "/test.txt", 34281cb0ef41Sopenharmony_ci "search": "", 34291cb0ef41Sopenharmony_ci "hash": "" 34301cb0ef41Sopenharmony_ci }, 34311cb0ef41Sopenharmony_ci { 34321cb0ef41Sopenharmony_ci "input": "../test.txt", 34331cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34341cb0ef41Sopenharmony_ci "href": "http://www.example.com/test.txt", 34351cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34361cb0ef41Sopenharmony_ci "protocol": "http:", 34371cb0ef41Sopenharmony_ci "username": "", 34381cb0ef41Sopenharmony_ci "password": "", 34391cb0ef41Sopenharmony_ci "host": "www.example.com", 34401cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34411cb0ef41Sopenharmony_ci "port": "", 34421cb0ef41Sopenharmony_ci "pathname": "/test.txt", 34431cb0ef41Sopenharmony_ci "search": "", 34441cb0ef41Sopenharmony_ci "hash": "" 34451cb0ef41Sopenharmony_ci }, 34461cb0ef41Sopenharmony_ci { 34471cb0ef41Sopenharmony_ci "input": "../aaa/test.txt", 34481cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34491cb0ef41Sopenharmony_ci "href": "http://www.example.com/aaa/test.txt", 34501cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34511cb0ef41Sopenharmony_ci "protocol": "http:", 34521cb0ef41Sopenharmony_ci "username": "", 34531cb0ef41Sopenharmony_ci "password": "", 34541cb0ef41Sopenharmony_ci "host": "www.example.com", 34551cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34561cb0ef41Sopenharmony_ci "port": "", 34571cb0ef41Sopenharmony_ci "pathname": "/aaa/test.txt", 34581cb0ef41Sopenharmony_ci "search": "", 34591cb0ef41Sopenharmony_ci "hash": "" 34601cb0ef41Sopenharmony_ci }, 34611cb0ef41Sopenharmony_ci { 34621cb0ef41Sopenharmony_ci "input": "../../test.txt", 34631cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34641cb0ef41Sopenharmony_ci "href": "http://www.example.com/test.txt", 34651cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34661cb0ef41Sopenharmony_ci "protocol": "http:", 34671cb0ef41Sopenharmony_ci "username": "", 34681cb0ef41Sopenharmony_ci "password": "", 34691cb0ef41Sopenharmony_ci "host": "www.example.com", 34701cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34711cb0ef41Sopenharmony_ci "port": "", 34721cb0ef41Sopenharmony_ci "pathname": "/test.txt", 34731cb0ef41Sopenharmony_ci "search": "", 34741cb0ef41Sopenharmony_ci "hash": "" 34751cb0ef41Sopenharmony_ci }, 34761cb0ef41Sopenharmony_ci { 34771cb0ef41Sopenharmony_ci "input": "中/test.txt", 34781cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34791cb0ef41Sopenharmony_ci "href": "http://www.example.com/%E4%B8%AD/test.txt", 34801cb0ef41Sopenharmony_ci "origin": "http://www.example.com", 34811cb0ef41Sopenharmony_ci "protocol": "http:", 34821cb0ef41Sopenharmony_ci "username": "", 34831cb0ef41Sopenharmony_ci "password": "", 34841cb0ef41Sopenharmony_ci "host": "www.example.com", 34851cb0ef41Sopenharmony_ci "hostname": "www.example.com", 34861cb0ef41Sopenharmony_ci "port": "", 34871cb0ef41Sopenharmony_ci "pathname": "/%E4%B8%AD/test.txt", 34881cb0ef41Sopenharmony_ci "search": "", 34891cb0ef41Sopenharmony_ci "hash": "" 34901cb0ef41Sopenharmony_ci }, 34911cb0ef41Sopenharmony_ci { 34921cb0ef41Sopenharmony_ci "input": "http://www.example2.com", 34931cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 34941cb0ef41Sopenharmony_ci "href": "http://www.example2.com/", 34951cb0ef41Sopenharmony_ci "origin": "http://www.example2.com", 34961cb0ef41Sopenharmony_ci "protocol": "http:", 34971cb0ef41Sopenharmony_ci "username": "", 34981cb0ef41Sopenharmony_ci "password": "", 34991cb0ef41Sopenharmony_ci "host": "www.example2.com", 35001cb0ef41Sopenharmony_ci "hostname": "www.example2.com", 35011cb0ef41Sopenharmony_ci "port": "", 35021cb0ef41Sopenharmony_ci "pathname": "/", 35031cb0ef41Sopenharmony_ci "search": "", 35041cb0ef41Sopenharmony_ci "hash": "" 35051cb0ef41Sopenharmony_ci }, 35061cb0ef41Sopenharmony_ci { 35071cb0ef41Sopenharmony_ci "input": "//www.example2.com", 35081cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 35091cb0ef41Sopenharmony_ci "href": "http://www.example2.com/", 35101cb0ef41Sopenharmony_ci "origin": "http://www.example2.com", 35111cb0ef41Sopenharmony_ci "protocol": "http:", 35121cb0ef41Sopenharmony_ci "username": "", 35131cb0ef41Sopenharmony_ci "password": "", 35141cb0ef41Sopenharmony_ci "host": "www.example2.com", 35151cb0ef41Sopenharmony_ci "hostname": "www.example2.com", 35161cb0ef41Sopenharmony_ci "port": "", 35171cb0ef41Sopenharmony_ci "pathname": "/", 35181cb0ef41Sopenharmony_ci "search": "", 35191cb0ef41Sopenharmony_ci "hash": "" 35201cb0ef41Sopenharmony_ci }, 35211cb0ef41Sopenharmony_ci { 35221cb0ef41Sopenharmony_ci "input": "file:...", 35231cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 35241cb0ef41Sopenharmony_ci "href": "file:///...", 35251cb0ef41Sopenharmony_ci "protocol": "file:", 35261cb0ef41Sopenharmony_ci "username": "", 35271cb0ef41Sopenharmony_ci "password": "", 35281cb0ef41Sopenharmony_ci "host": "", 35291cb0ef41Sopenharmony_ci "hostname": "", 35301cb0ef41Sopenharmony_ci "port": "", 35311cb0ef41Sopenharmony_ci "pathname": "/...", 35321cb0ef41Sopenharmony_ci "search": "", 35331cb0ef41Sopenharmony_ci "hash": "" 35341cb0ef41Sopenharmony_ci }, 35351cb0ef41Sopenharmony_ci { 35361cb0ef41Sopenharmony_ci "input": "file:..", 35371cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 35381cb0ef41Sopenharmony_ci "href": "file:///", 35391cb0ef41Sopenharmony_ci "protocol": "file:", 35401cb0ef41Sopenharmony_ci "username": "", 35411cb0ef41Sopenharmony_ci "password": "", 35421cb0ef41Sopenharmony_ci "host": "", 35431cb0ef41Sopenharmony_ci "hostname": "", 35441cb0ef41Sopenharmony_ci "port": "", 35451cb0ef41Sopenharmony_ci "pathname": "/", 35461cb0ef41Sopenharmony_ci "search": "", 35471cb0ef41Sopenharmony_ci "hash": "" 35481cb0ef41Sopenharmony_ci }, 35491cb0ef41Sopenharmony_ci { 35501cb0ef41Sopenharmony_ci "input": "file:a", 35511cb0ef41Sopenharmony_ci "base": "http://www.example.com/test", 35521cb0ef41Sopenharmony_ci "href": "file:///a", 35531cb0ef41Sopenharmony_ci "protocol": "file:", 35541cb0ef41Sopenharmony_ci "username": "", 35551cb0ef41Sopenharmony_ci "password": "", 35561cb0ef41Sopenharmony_ci "host": "", 35571cb0ef41Sopenharmony_ci "hostname": "", 35581cb0ef41Sopenharmony_ci "port": "", 35591cb0ef41Sopenharmony_ci "pathname": "/a", 35601cb0ef41Sopenharmony_ci "search": "", 35611cb0ef41Sopenharmony_ci "hash": "" 35621cb0ef41Sopenharmony_ci }, 35631cb0ef41Sopenharmony_ci "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/host.html", 35641cb0ef41Sopenharmony_ci "Basic canonicalization, uppercase should be converted to lowercase", 35651cb0ef41Sopenharmony_ci { 35661cb0ef41Sopenharmony_ci "input": "http://ExAmPlE.CoM", 35671cb0ef41Sopenharmony_ci "base": "http://other.com/", 35681cb0ef41Sopenharmony_ci "href": "http://example.com/", 35691cb0ef41Sopenharmony_ci "origin": "http://example.com", 35701cb0ef41Sopenharmony_ci "protocol": "http:", 35711cb0ef41Sopenharmony_ci "username": "", 35721cb0ef41Sopenharmony_ci "password": "", 35731cb0ef41Sopenharmony_ci "host": "example.com", 35741cb0ef41Sopenharmony_ci "hostname": "example.com", 35751cb0ef41Sopenharmony_ci "port": "", 35761cb0ef41Sopenharmony_ci "pathname": "/", 35771cb0ef41Sopenharmony_ci "search": "", 35781cb0ef41Sopenharmony_ci "hash": "" 35791cb0ef41Sopenharmony_ci }, 35801cb0ef41Sopenharmony_ci { 35811cb0ef41Sopenharmony_ci "input": "http://example example.com", 35821cb0ef41Sopenharmony_ci "base": "http://other.com/", 35831cb0ef41Sopenharmony_ci "failure": true 35841cb0ef41Sopenharmony_ci }, 35851cb0ef41Sopenharmony_ci { 35861cb0ef41Sopenharmony_ci "input": "http://Goo%20 goo%7C|.com", 35871cb0ef41Sopenharmony_ci "base": "http://other.com/", 35881cb0ef41Sopenharmony_ci "failure": true 35891cb0ef41Sopenharmony_ci }, 35901cb0ef41Sopenharmony_ci { 35911cb0ef41Sopenharmony_ci "input": "http://[]", 35921cb0ef41Sopenharmony_ci "base": "http://other.com/", 35931cb0ef41Sopenharmony_ci "failure": true 35941cb0ef41Sopenharmony_ci }, 35951cb0ef41Sopenharmony_ci { 35961cb0ef41Sopenharmony_ci "input": "http://[:]", 35971cb0ef41Sopenharmony_ci "base": "http://other.com/", 35981cb0ef41Sopenharmony_ci "failure": true 35991cb0ef41Sopenharmony_ci }, 36001cb0ef41Sopenharmony_ci "U+3000 is mapped to U+0020 (space) which is disallowed", 36011cb0ef41Sopenharmony_ci { 36021cb0ef41Sopenharmony_ci "input": "http://GOO\u00a0\u3000goo.com", 36031cb0ef41Sopenharmony_ci "base": "http://other.com/", 36041cb0ef41Sopenharmony_ci "failure": true 36051cb0ef41Sopenharmony_ci }, 36061cb0ef41Sopenharmony_ci "Other types of space (no-break, zero-width, zero-width-no-break) are name-prepped away to nothing. U+200B, U+2060, and U+FEFF, are ignored", 36071cb0ef41Sopenharmony_ci { 36081cb0ef41Sopenharmony_ci "input": "http://GOO\u200b\u2060\ufeffgoo.com", 36091cb0ef41Sopenharmony_ci "base": "http://other.com/", 36101cb0ef41Sopenharmony_ci "href": "http://googoo.com/", 36111cb0ef41Sopenharmony_ci "origin": "http://googoo.com", 36121cb0ef41Sopenharmony_ci "protocol": "http:", 36131cb0ef41Sopenharmony_ci "username": "", 36141cb0ef41Sopenharmony_ci "password": "", 36151cb0ef41Sopenharmony_ci "host": "googoo.com", 36161cb0ef41Sopenharmony_ci "hostname": "googoo.com", 36171cb0ef41Sopenharmony_ci "port": "", 36181cb0ef41Sopenharmony_ci "pathname": "/", 36191cb0ef41Sopenharmony_ci "search": "", 36201cb0ef41Sopenharmony_ci "hash": "" 36211cb0ef41Sopenharmony_ci }, 36221cb0ef41Sopenharmony_ci "Leading and trailing C0 control or space", 36231cb0ef41Sopenharmony_ci { 36241cb0ef41Sopenharmony_ci "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ", 36251cb0ef41Sopenharmony_ci "base": null, 36261cb0ef41Sopenharmony_ci "href": "http://example.com/", 36271cb0ef41Sopenharmony_ci "origin": "http://example.com", 36281cb0ef41Sopenharmony_ci "protocol": "http:", 36291cb0ef41Sopenharmony_ci "username": "", 36301cb0ef41Sopenharmony_ci "password": "", 36311cb0ef41Sopenharmony_ci "host": "example.com", 36321cb0ef41Sopenharmony_ci "hostname": "example.com", 36331cb0ef41Sopenharmony_ci "port": "", 36341cb0ef41Sopenharmony_ci "pathname": "/", 36351cb0ef41Sopenharmony_ci "search": "", 36361cb0ef41Sopenharmony_ci "hash": "" 36371cb0ef41Sopenharmony_ci }, 36381cb0ef41Sopenharmony_ci "Ideographic full stop (full-width period for Chinese, etc.) should be treated as a dot. U+3002 is mapped to U+002E (dot)", 36391cb0ef41Sopenharmony_ci { 36401cb0ef41Sopenharmony_ci "input": "http://www.foo。bar.com", 36411cb0ef41Sopenharmony_ci "base": "http://other.com/", 36421cb0ef41Sopenharmony_ci "href": "http://www.foo.bar.com/", 36431cb0ef41Sopenharmony_ci "origin": "http://www.foo.bar.com", 36441cb0ef41Sopenharmony_ci "protocol": "http:", 36451cb0ef41Sopenharmony_ci "username": "", 36461cb0ef41Sopenharmony_ci "password": "", 36471cb0ef41Sopenharmony_ci "host": "www.foo.bar.com", 36481cb0ef41Sopenharmony_ci "hostname": "www.foo.bar.com", 36491cb0ef41Sopenharmony_ci "port": "", 36501cb0ef41Sopenharmony_ci "pathname": "/", 36511cb0ef41Sopenharmony_ci "search": "", 36521cb0ef41Sopenharmony_ci "hash": "" 36531cb0ef41Sopenharmony_ci }, 36541cb0ef41Sopenharmony_ci "Invalid unicode characters should fail... U+FDD0 is disallowed; %ef%b7%90 is U+FDD0", 36551cb0ef41Sopenharmony_ci { 36561cb0ef41Sopenharmony_ci "input": "http://\ufdd0zyx.com", 36571cb0ef41Sopenharmony_ci "base": "http://other.com/", 36581cb0ef41Sopenharmony_ci "failure": true 36591cb0ef41Sopenharmony_ci }, 36601cb0ef41Sopenharmony_ci "This is the same as previous but escaped", 36611cb0ef41Sopenharmony_ci { 36621cb0ef41Sopenharmony_ci "input": "http://%ef%b7%90zyx.com", 36631cb0ef41Sopenharmony_ci "base": "http://other.com/", 36641cb0ef41Sopenharmony_ci "failure": true 36651cb0ef41Sopenharmony_ci }, 36661cb0ef41Sopenharmony_ci "U+FFFD", 36671cb0ef41Sopenharmony_ci { 36681cb0ef41Sopenharmony_ci "input": "https://\ufffd", 36691cb0ef41Sopenharmony_ci "base": null, 36701cb0ef41Sopenharmony_ci "failure": true 36711cb0ef41Sopenharmony_ci }, 36721cb0ef41Sopenharmony_ci { 36731cb0ef41Sopenharmony_ci "input": "https://%EF%BF%BD", 36741cb0ef41Sopenharmony_ci "base": null, 36751cb0ef41Sopenharmony_ci "failure": true 36761cb0ef41Sopenharmony_ci }, 36771cb0ef41Sopenharmony_ci { 36781cb0ef41Sopenharmony_ci "input": "https://x/\ufffd?\ufffd#\ufffd", 36791cb0ef41Sopenharmony_ci "base": null, 36801cb0ef41Sopenharmony_ci "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD", 36811cb0ef41Sopenharmony_ci "origin": "https://x", 36821cb0ef41Sopenharmony_ci "protocol": "https:", 36831cb0ef41Sopenharmony_ci "username": "", 36841cb0ef41Sopenharmony_ci "password": "", 36851cb0ef41Sopenharmony_ci "host": "x", 36861cb0ef41Sopenharmony_ci "hostname": "x", 36871cb0ef41Sopenharmony_ci "port": "", 36881cb0ef41Sopenharmony_ci "pathname": "/%EF%BF%BD", 36891cb0ef41Sopenharmony_ci "search": "?%EF%BF%BD", 36901cb0ef41Sopenharmony_ci "hash": "#%EF%BF%BD" 36911cb0ef41Sopenharmony_ci }, 36921cb0ef41Sopenharmony_ci "Domain is ASCII, but a label is invalid IDNA", 36931cb0ef41Sopenharmony_ci { 36941cb0ef41Sopenharmony_ci "input": "http://a.b.c.xn--pokxncvks", 36951cb0ef41Sopenharmony_ci "base": null, 36961cb0ef41Sopenharmony_ci "failure": true 36971cb0ef41Sopenharmony_ci }, 36981cb0ef41Sopenharmony_ci { 36991cb0ef41Sopenharmony_ci "input": "http://10.0.0.xn--pokxncvks", 37001cb0ef41Sopenharmony_ci "base": null, 37011cb0ef41Sopenharmony_ci "failure": true 37021cb0ef41Sopenharmony_ci }, 37031cb0ef41Sopenharmony_ci "IDNA labels should be matched case-insensitively", 37041cb0ef41Sopenharmony_ci { 37051cb0ef41Sopenharmony_ci "input": "http://a.b.c.XN--pokxncvks", 37061cb0ef41Sopenharmony_ci "base": null, 37071cb0ef41Sopenharmony_ci "failure": true 37081cb0ef41Sopenharmony_ci }, 37091cb0ef41Sopenharmony_ci { 37101cb0ef41Sopenharmony_ci "input": "http://a.b.c.Xn--pokxncvks", 37111cb0ef41Sopenharmony_ci "base": null, 37121cb0ef41Sopenharmony_ci "failure": true 37131cb0ef41Sopenharmony_ci }, 37141cb0ef41Sopenharmony_ci { 37151cb0ef41Sopenharmony_ci "input": "http://10.0.0.XN--pokxncvks", 37161cb0ef41Sopenharmony_ci "base": null, 37171cb0ef41Sopenharmony_ci "failure": true 37181cb0ef41Sopenharmony_ci }, 37191cb0ef41Sopenharmony_ci { 37201cb0ef41Sopenharmony_ci "input": "http://10.0.0.xN--pokxncvks", 37211cb0ef41Sopenharmony_ci "base": null, 37221cb0ef41Sopenharmony_ci "failure": true 37231cb0ef41Sopenharmony_ci }, 37241cb0ef41Sopenharmony_ci "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.", 37251cb0ef41Sopenharmony_ci { 37261cb0ef41Sopenharmony_ci "input": "http://Go.com", 37271cb0ef41Sopenharmony_ci "base": "http://other.com/", 37281cb0ef41Sopenharmony_ci "href": "http://go.com/", 37291cb0ef41Sopenharmony_ci "origin": "http://go.com", 37301cb0ef41Sopenharmony_ci "protocol": "http:", 37311cb0ef41Sopenharmony_ci "username": "", 37321cb0ef41Sopenharmony_ci "password": "", 37331cb0ef41Sopenharmony_ci "host": "go.com", 37341cb0ef41Sopenharmony_ci "hostname": "go.com", 37351cb0ef41Sopenharmony_ci "port": "", 37361cb0ef41Sopenharmony_ci "pathname": "/", 37371cb0ef41Sopenharmony_ci "search": "", 37381cb0ef41Sopenharmony_ci "hash": "" 37391cb0ef41Sopenharmony_ci }, 37401cb0ef41Sopenharmony_ci "URL spec forbids the following. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24257", 37411cb0ef41Sopenharmony_ci { 37421cb0ef41Sopenharmony_ci "input": "http://%41.com", 37431cb0ef41Sopenharmony_ci "base": "http://other.com/", 37441cb0ef41Sopenharmony_ci "failure": true 37451cb0ef41Sopenharmony_ci }, 37461cb0ef41Sopenharmony_ci { 37471cb0ef41Sopenharmony_ci "input": "http://%ef%bc%85%ef%bc%94%ef%bc%91.com", 37481cb0ef41Sopenharmony_ci "base": "http://other.com/", 37491cb0ef41Sopenharmony_ci "failure": true 37501cb0ef41Sopenharmony_ci }, 37511cb0ef41Sopenharmony_ci "...%00 in fullwidth should fail (also as escaped UTF-8 input)", 37521cb0ef41Sopenharmony_ci { 37531cb0ef41Sopenharmony_ci "input": "http://%00.com", 37541cb0ef41Sopenharmony_ci "base": "http://other.com/", 37551cb0ef41Sopenharmony_ci "failure": true 37561cb0ef41Sopenharmony_ci }, 37571cb0ef41Sopenharmony_ci { 37581cb0ef41Sopenharmony_ci "input": "http://%ef%bc%85%ef%bc%90%ef%bc%90.com", 37591cb0ef41Sopenharmony_ci "base": "http://other.com/", 37601cb0ef41Sopenharmony_ci "failure": true 37611cb0ef41Sopenharmony_ci }, 37621cb0ef41Sopenharmony_ci "Basic IDN support, UTF-8 and UTF-16 input should be converted to IDN", 37631cb0ef41Sopenharmony_ci { 37641cb0ef41Sopenharmony_ci "input": "http://你好你好", 37651cb0ef41Sopenharmony_ci "base": "http://other.com/", 37661cb0ef41Sopenharmony_ci "href": "http://xn--6qqa088eba/", 37671cb0ef41Sopenharmony_ci "origin": "http://xn--6qqa088eba", 37681cb0ef41Sopenharmony_ci "protocol": "http:", 37691cb0ef41Sopenharmony_ci "username": "", 37701cb0ef41Sopenharmony_ci "password": "", 37711cb0ef41Sopenharmony_ci "host": "xn--6qqa088eba", 37721cb0ef41Sopenharmony_ci "hostname": "xn--6qqa088eba", 37731cb0ef41Sopenharmony_ci "port": "", 37741cb0ef41Sopenharmony_ci "pathname": "/", 37751cb0ef41Sopenharmony_ci "search": "", 37761cb0ef41Sopenharmony_ci "hash": "" 37771cb0ef41Sopenharmony_ci }, 37781cb0ef41Sopenharmony_ci { 37791cb0ef41Sopenharmony_ci "input": "https://faß.ExAmPlE/", 37801cb0ef41Sopenharmony_ci "base": null, 37811cb0ef41Sopenharmony_ci "href": "https://xn--fa-hia.example/", 37821cb0ef41Sopenharmony_ci "origin": "https://xn--fa-hia.example", 37831cb0ef41Sopenharmony_ci "protocol": "https:", 37841cb0ef41Sopenharmony_ci "username": "", 37851cb0ef41Sopenharmony_ci "password": "", 37861cb0ef41Sopenharmony_ci "host": "xn--fa-hia.example", 37871cb0ef41Sopenharmony_ci "hostname": "xn--fa-hia.example", 37881cb0ef41Sopenharmony_ci "port": "", 37891cb0ef41Sopenharmony_ci "pathname": "/", 37901cb0ef41Sopenharmony_ci "search": "", 37911cb0ef41Sopenharmony_ci "hash": "" 37921cb0ef41Sopenharmony_ci }, 37931cb0ef41Sopenharmony_ci { 37941cb0ef41Sopenharmony_ci "input": "sc://faß.ExAmPlE/", 37951cb0ef41Sopenharmony_ci "base": null, 37961cb0ef41Sopenharmony_ci "href": "sc://fa%C3%9F.ExAmPlE/", 37971cb0ef41Sopenharmony_ci "origin": "null", 37981cb0ef41Sopenharmony_ci "protocol": "sc:", 37991cb0ef41Sopenharmony_ci "username": "", 38001cb0ef41Sopenharmony_ci "password": "", 38011cb0ef41Sopenharmony_ci "host": "fa%C3%9F.ExAmPlE", 38021cb0ef41Sopenharmony_ci "hostname": "fa%C3%9F.ExAmPlE", 38031cb0ef41Sopenharmony_ci "port": "", 38041cb0ef41Sopenharmony_ci "pathname": "/", 38051cb0ef41Sopenharmony_ci "search": "", 38061cb0ef41Sopenharmony_ci "hash": "" 38071cb0ef41Sopenharmony_ci }, 38081cb0ef41Sopenharmony_ci "Invalid escaped characters should fail and the percents should be escaped. https://www.w3.org/Bugs/Public/show_bug.cgi?id=24191", 38091cb0ef41Sopenharmony_ci { 38101cb0ef41Sopenharmony_ci "input": "http://%zz%66%a.com", 38111cb0ef41Sopenharmony_ci "base": "http://other.com/", 38121cb0ef41Sopenharmony_ci "failure": true 38131cb0ef41Sopenharmony_ci }, 38141cb0ef41Sopenharmony_ci "If we get an invalid character that has been escaped.", 38151cb0ef41Sopenharmony_ci { 38161cb0ef41Sopenharmony_ci "input": "http://%25", 38171cb0ef41Sopenharmony_ci "base": "http://other.com/", 38181cb0ef41Sopenharmony_ci "failure": true 38191cb0ef41Sopenharmony_ci }, 38201cb0ef41Sopenharmony_ci { 38211cb0ef41Sopenharmony_ci "input": "http://hello%00", 38221cb0ef41Sopenharmony_ci "base": "http://other.com/", 38231cb0ef41Sopenharmony_ci "failure": true 38241cb0ef41Sopenharmony_ci }, 38251cb0ef41Sopenharmony_ci "Escaped numbers should be treated like IP addresses if they are.", 38261cb0ef41Sopenharmony_ci { 38271cb0ef41Sopenharmony_ci "input": "http://%30%78%63%30%2e%30%32%35%30.01", 38281cb0ef41Sopenharmony_ci "base": "http://other.com/", 38291cb0ef41Sopenharmony_ci "href": "http://192.168.0.1/", 38301cb0ef41Sopenharmony_ci "origin": "http://192.168.0.1", 38311cb0ef41Sopenharmony_ci "protocol": "http:", 38321cb0ef41Sopenharmony_ci "username": "", 38331cb0ef41Sopenharmony_ci "password": "", 38341cb0ef41Sopenharmony_ci "host": "192.168.0.1", 38351cb0ef41Sopenharmony_ci "hostname": "192.168.0.1", 38361cb0ef41Sopenharmony_ci "port": "", 38371cb0ef41Sopenharmony_ci "pathname": "/", 38381cb0ef41Sopenharmony_ci "search": "", 38391cb0ef41Sopenharmony_ci "hash": "" 38401cb0ef41Sopenharmony_ci }, 38411cb0ef41Sopenharmony_ci { 38421cb0ef41Sopenharmony_ci "input": "http://%30%78%63%30%2e%30%32%35%30.01%2e", 38431cb0ef41Sopenharmony_ci "base": "http://other.com/", 38441cb0ef41Sopenharmony_ci "href": "http://192.168.0.1/", 38451cb0ef41Sopenharmony_ci "origin": "http://192.168.0.1", 38461cb0ef41Sopenharmony_ci "protocol": "http:", 38471cb0ef41Sopenharmony_ci "username": "", 38481cb0ef41Sopenharmony_ci "password": "", 38491cb0ef41Sopenharmony_ci "host": "192.168.0.1", 38501cb0ef41Sopenharmony_ci "hostname": "192.168.0.1", 38511cb0ef41Sopenharmony_ci "port": "", 38521cb0ef41Sopenharmony_ci "pathname": "/", 38531cb0ef41Sopenharmony_ci "search": "", 38541cb0ef41Sopenharmony_ci "hash": "" 38551cb0ef41Sopenharmony_ci }, 38561cb0ef41Sopenharmony_ci { 38571cb0ef41Sopenharmony_ci "input": "http://192.168.0.257", 38581cb0ef41Sopenharmony_ci "base": "http://other.com/", 38591cb0ef41Sopenharmony_ci "failure": true 38601cb0ef41Sopenharmony_ci }, 38611cb0ef41Sopenharmony_ci "Invalid escaping in hosts causes failure", 38621cb0ef41Sopenharmony_ci { 38631cb0ef41Sopenharmony_ci "input": "http://%3g%78%63%30%2e%30%32%35%30%2E.01", 38641cb0ef41Sopenharmony_ci "base": "http://other.com/", 38651cb0ef41Sopenharmony_ci "failure": true 38661cb0ef41Sopenharmony_ci }, 38671cb0ef41Sopenharmony_ci "A space in a host causes failure", 38681cb0ef41Sopenharmony_ci { 38691cb0ef41Sopenharmony_ci "input": "http://192.168.0.1 hello", 38701cb0ef41Sopenharmony_ci "base": "http://other.com/", 38711cb0ef41Sopenharmony_ci "failure": true 38721cb0ef41Sopenharmony_ci }, 38731cb0ef41Sopenharmony_ci { 38741cb0ef41Sopenharmony_ci "input": "https://x x:12", 38751cb0ef41Sopenharmony_ci "base": null, 38761cb0ef41Sopenharmony_ci "failure": true 38771cb0ef41Sopenharmony_ci }, 38781cb0ef41Sopenharmony_ci "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP", 38791cb0ef41Sopenharmony_ci { 38801cb0ef41Sopenharmony_ci "input": "http://0Xc0.0250.01", 38811cb0ef41Sopenharmony_ci "base": "http://other.com/", 38821cb0ef41Sopenharmony_ci "href": "http://192.168.0.1/", 38831cb0ef41Sopenharmony_ci "origin": "http://192.168.0.1", 38841cb0ef41Sopenharmony_ci "protocol": "http:", 38851cb0ef41Sopenharmony_ci "username": "", 38861cb0ef41Sopenharmony_ci "password": "", 38871cb0ef41Sopenharmony_ci "host": "192.168.0.1", 38881cb0ef41Sopenharmony_ci "hostname": "192.168.0.1", 38891cb0ef41Sopenharmony_ci "port": "", 38901cb0ef41Sopenharmony_ci "pathname": "/", 38911cb0ef41Sopenharmony_ci "search": "", 38921cb0ef41Sopenharmony_ci "hash": "" 38931cb0ef41Sopenharmony_ci }, 38941cb0ef41Sopenharmony_ci "Domains with empty labels", 38951cb0ef41Sopenharmony_ci { 38961cb0ef41Sopenharmony_ci "input": "http://./", 38971cb0ef41Sopenharmony_ci "base": null, 38981cb0ef41Sopenharmony_ci "href": "http://./", 38991cb0ef41Sopenharmony_ci "origin": "http://.", 39001cb0ef41Sopenharmony_ci "protocol": "http:", 39011cb0ef41Sopenharmony_ci "username": "", 39021cb0ef41Sopenharmony_ci "password": "", 39031cb0ef41Sopenharmony_ci "host": ".", 39041cb0ef41Sopenharmony_ci "hostname": ".", 39051cb0ef41Sopenharmony_ci "port": "", 39061cb0ef41Sopenharmony_ci "pathname": "/", 39071cb0ef41Sopenharmony_ci "search": "", 39081cb0ef41Sopenharmony_ci "hash": "" 39091cb0ef41Sopenharmony_ci }, 39101cb0ef41Sopenharmony_ci { 39111cb0ef41Sopenharmony_ci "input": "http://../", 39121cb0ef41Sopenharmony_ci "base": null, 39131cb0ef41Sopenharmony_ci "href": "http://../", 39141cb0ef41Sopenharmony_ci "origin": "http://..", 39151cb0ef41Sopenharmony_ci "protocol": "http:", 39161cb0ef41Sopenharmony_ci "username": "", 39171cb0ef41Sopenharmony_ci "password": "", 39181cb0ef41Sopenharmony_ci "host": "..", 39191cb0ef41Sopenharmony_ci "hostname": "..", 39201cb0ef41Sopenharmony_ci "port": "", 39211cb0ef41Sopenharmony_ci "pathname": "/", 39221cb0ef41Sopenharmony_ci "search": "", 39231cb0ef41Sopenharmony_ci "hash": "" 39241cb0ef41Sopenharmony_ci }, 39251cb0ef41Sopenharmony_ci "Non-special domains with empty labels", 39261cb0ef41Sopenharmony_ci { 39271cb0ef41Sopenharmony_ci "input": "h://.", 39281cb0ef41Sopenharmony_ci "base": null, 39291cb0ef41Sopenharmony_ci "href": "h://.", 39301cb0ef41Sopenharmony_ci "origin": "null", 39311cb0ef41Sopenharmony_ci "protocol": "h:", 39321cb0ef41Sopenharmony_ci "username": "", 39331cb0ef41Sopenharmony_ci "password": "", 39341cb0ef41Sopenharmony_ci "host": ".", 39351cb0ef41Sopenharmony_ci "hostname": ".", 39361cb0ef41Sopenharmony_ci "port": "", 39371cb0ef41Sopenharmony_ci "pathname": "", 39381cb0ef41Sopenharmony_ci "search": "", 39391cb0ef41Sopenharmony_ci "hash": "" 39401cb0ef41Sopenharmony_ci }, 39411cb0ef41Sopenharmony_ci "Broken IPv6", 39421cb0ef41Sopenharmony_ci { 39431cb0ef41Sopenharmony_ci "input": "http://[www.google.com]/", 39441cb0ef41Sopenharmony_ci "base": null, 39451cb0ef41Sopenharmony_ci "failure": true 39461cb0ef41Sopenharmony_ci }, 39471cb0ef41Sopenharmony_ci { 39481cb0ef41Sopenharmony_ci "input": "http://[google.com]", 39491cb0ef41Sopenharmony_ci "base": "http://other.com/", 39501cb0ef41Sopenharmony_ci "failure": true 39511cb0ef41Sopenharmony_ci }, 39521cb0ef41Sopenharmony_ci { 39531cb0ef41Sopenharmony_ci "input": "http://[::1.2.3.4x]", 39541cb0ef41Sopenharmony_ci "base": "http://other.com/", 39551cb0ef41Sopenharmony_ci "failure": true 39561cb0ef41Sopenharmony_ci }, 39571cb0ef41Sopenharmony_ci { 39581cb0ef41Sopenharmony_ci "input": "http://[::1.2.3.]", 39591cb0ef41Sopenharmony_ci "base": "http://other.com/", 39601cb0ef41Sopenharmony_ci "failure": true 39611cb0ef41Sopenharmony_ci }, 39621cb0ef41Sopenharmony_ci { 39631cb0ef41Sopenharmony_ci "input": "http://[::1.2.]", 39641cb0ef41Sopenharmony_ci "base": "http://other.com/", 39651cb0ef41Sopenharmony_ci "failure": true 39661cb0ef41Sopenharmony_ci }, 39671cb0ef41Sopenharmony_ci { 39681cb0ef41Sopenharmony_ci "input": "http://[::.1.2]", 39691cb0ef41Sopenharmony_ci "base": "http://other.com/", 39701cb0ef41Sopenharmony_ci "failure": true 39711cb0ef41Sopenharmony_ci }, 39721cb0ef41Sopenharmony_ci { 39731cb0ef41Sopenharmony_ci "input": "http://[::1.]", 39741cb0ef41Sopenharmony_ci "base": "http://other.com/", 39751cb0ef41Sopenharmony_ci "failure": true 39761cb0ef41Sopenharmony_ci }, 39771cb0ef41Sopenharmony_ci { 39781cb0ef41Sopenharmony_ci "input": "http://[::.1]", 39791cb0ef41Sopenharmony_ci "base": "http://other.com/", 39801cb0ef41Sopenharmony_ci "failure": true 39811cb0ef41Sopenharmony_ci }, 39821cb0ef41Sopenharmony_ci { 39831cb0ef41Sopenharmony_ci "input": "http://[::%31]", 39841cb0ef41Sopenharmony_ci "base": "http://other.com/", 39851cb0ef41Sopenharmony_ci "failure": true 39861cb0ef41Sopenharmony_ci }, 39871cb0ef41Sopenharmony_ci { 39881cb0ef41Sopenharmony_ci "input": "http://%5B::1]", 39891cb0ef41Sopenharmony_ci "base": "http://other.com/", 39901cb0ef41Sopenharmony_ci "failure": true 39911cb0ef41Sopenharmony_ci }, 39921cb0ef41Sopenharmony_ci "Misc Unicode", 39931cb0ef41Sopenharmony_ci { 39941cb0ef41Sopenharmony_ci "input": "http://foo:@example.com/bar", 39951cb0ef41Sopenharmony_ci "base": "http://other.com/", 39961cb0ef41Sopenharmony_ci "href": "http://foo:%F0%9F%92%A9@example.com/bar", 39971cb0ef41Sopenharmony_ci "origin": "http://example.com", 39981cb0ef41Sopenharmony_ci "protocol": "http:", 39991cb0ef41Sopenharmony_ci "username": "foo", 40001cb0ef41Sopenharmony_ci "password": "%F0%9F%92%A9", 40011cb0ef41Sopenharmony_ci "host": "example.com", 40021cb0ef41Sopenharmony_ci "hostname": "example.com", 40031cb0ef41Sopenharmony_ci "port": "", 40041cb0ef41Sopenharmony_ci "pathname": "/bar", 40051cb0ef41Sopenharmony_ci "search": "", 40061cb0ef41Sopenharmony_ci "hash": "" 40071cb0ef41Sopenharmony_ci }, 40081cb0ef41Sopenharmony_ci "# resolving a fragment against any scheme succeeds", 40091cb0ef41Sopenharmony_ci { 40101cb0ef41Sopenharmony_ci "input": "#", 40111cb0ef41Sopenharmony_ci "base": "test:test", 40121cb0ef41Sopenharmony_ci "href": "test:test#", 40131cb0ef41Sopenharmony_ci "origin": "null", 40141cb0ef41Sopenharmony_ci "protocol": "test:", 40151cb0ef41Sopenharmony_ci "username": "", 40161cb0ef41Sopenharmony_ci "password": "", 40171cb0ef41Sopenharmony_ci "host": "", 40181cb0ef41Sopenharmony_ci "hostname": "", 40191cb0ef41Sopenharmony_ci "port": "", 40201cb0ef41Sopenharmony_ci "pathname": "test", 40211cb0ef41Sopenharmony_ci "search": "", 40221cb0ef41Sopenharmony_ci "hash": "" 40231cb0ef41Sopenharmony_ci }, 40241cb0ef41Sopenharmony_ci { 40251cb0ef41Sopenharmony_ci "input": "#x", 40261cb0ef41Sopenharmony_ci "base": "mailto:x@x.com", 40271cb0ef41Sopenharmony_ci "href": "mailto:x@x.com#x", 40281cb0ef41Sopenharmony_ci "origin": "null", 40291cb0ef41Sopenharmony_ci "protocol": "mailto:", 40301cb0ef41Sopenharmony_ci "username": "", 40311cb0ef41Sopenharmony_ci "password": "", 40321cb0ef41Sopenharmony_ci "host": "", 40331cb0ef41Sopenharmony_ci "hostname": "", 40341cb0ef41Sopenharmony_ci "port": "", 40351cb0ef41Sopenharmony_ci "pathname": "x@x.com", 40361cb0ef41Sopenharmony_ci "search": "", 40371cb0ef41Sopenharmony_ci "hash": "#x" 40381cb0ef41Sopenharmony_ci }, 40391cb0ef41Sopenharmony_ci { 40401cb0ef41Sopenharmony_ci "input": "#x", 40411cb0ef41Sopenharmony_ci "base": "data:,", 40421cb0ef41Sopenharmony_ci "href": "data:,#x", 40431cb0ef41Sopenharmony_ci "origin": "null", 40441cb0ef41Sopenharmony_ci "protocol": "data:", 40451cb0ef41Sopenharmony_ci "username": "", 40461cb0ef41Sopenharmony_ci "password": "", 40471cb0ef41Sopenharmony_ci "host": "", 40481cb0ef41Sopenharmony_ci "hostname": "", 40491cb0ef41Sopenharmony_ci "port": "", 40501cb0ef41Sopenharmony_ci "pathname": ",", 40511cb0ef41Sopenharmony_ci "search": "", 40521cb0ef41Sopenharmony_ci "hash": "#x" 40531cb0ef41Sopenharmony_ci }, 40541cb0ef41Sopenharmony_ci { 40551cb0ef41Sopenharmony_ci "input": "#x", 40561cb0ef41Sopenharmony_ci "base": "about:blank", 40571cb0ef41Sopenharmony_ci "href": "about:blank#x", 40581cb0ef41Sopenharmony_ci "origin": "null", 40591cb0ef41Sopenharmony_ci "protocol": "about:", 40601cb0ef41Sopenharmony_ci "username": "", 40611cb0ef41Sopenharmony_ci "password": "", 40621cb0ef41Sopenharmony_ci "host": "", 40631cb0ef41Sopenharmony_ci "hostname": "", 40641cb0ef41Sopenharmony_ci "port": "", 40651cb0ef41Sopenharmony_ci "pathname": "blank", 40661cb0ef41Sopenharmony_ci "search": "", 40671cb0ef41Sopenharmony_ci "hash": "#x" 40681cb0ef41Sopenharmony_ci }, 40691cb0ef41Sopenharmony_ci { 40701cb0ef41Sopenharmony_ci "input": "#x:y", 40711cb0ef41Sopenharmony_ci "base": "about:blank", 40721cb0ef41Sopenharmony_ci "href": "about:blank#x:y", 40731cb0ef41Sopenharmony_ci "origin": "null", 40741cb0ef41Sopenharmony_ci "protocol": "about:", 40751cb0ef41Sopenharmony_ci "username": "", 40761cb0ef41Sopenharmony_ci "password": "", 40771cb0ef41Sopenharmony_ci "host": "", 40781cb0ef41Sopenharmony_ci "hostname": "", 40791cb0ef41Sopenharmony_ci "port": "", 40801cb0ef41Sopenharmony_ci "pathname": "blank", 40811cb0ef41Sopenharmony_ci "search": "", 40821cb0ef41Sopenharmony_ci "hash": "#x:y" 40831cb0ef41Sopenharmony_ci }, 40841cb0ef41Sopenharmony_ci { 40851cb0ef41Sopenharmony_ci "input": "#", 40861cb0ef41Sopenharmony_ci "base": "test:test?test", 40871cb0ef41Sopenharmony_ci "href": "test:test?test#", 40881cb0ef41Sopenharmony_ci "origin": "null", 40891cb0ef41Sopenharmony_ci "protocol": "test:", 40901cb0ef41Sopenharmony_ci "username": "", 40911cb0ef41Sopenharmony_ci "password": "", 40921cb0ef41Sopenharmony_ci "host": "", 40931cb0ef41Sopenharmony_ci "hostname": "", 40941cb0ef41Sopenharmony_ci "port": "", 40951cb0ef41Sopenharmony_ci "pathname": "test", 40961cb0ef41Sopenharmony_ci "search": "?test", 40971cb0ef41Sopenharmony_ci "hash": "" 40981cb0ef41Sopenharmony_ci }, 40991cb0ef41Sopenharmony_ci "# multiple @ in authority state", 41001cb0ef41Sopenharmony_ci { 41011cb0ef41Sopenharmony_ci "input": "https://@test@test@example:800/", 41021cb0ef41Sopenharmony_ci "base": "http://doesnotmatter/", 41031cb0ef41Sopenharmony_ci "href": "https://%40test%40test@example:800/", 41041cb0ef41Sopenharmony_ci "origin": "https://example:800", 41051cb0ef41Sopenharmony_ci "protocol": "https:", 41061cb0ef41Sopenharmony_ci "username": "%40test%40test", 41071cb0ef41Sopenharmony_ci "password": "", 41081cb0ef41Sopenharmony_ci "host": "example:800", 41091cb0ef41Sopenharmony_ci "hostname": "example", 41101cb0ef41Sopenharmony_ci "port": "800", 41111cb0ef41Sopenharmony_ci "pathname": "/", 41121cb0ef41Sopenharmony_ci "search": "", 41131cb0ef41Sopenharmony_ci "hash": "" 41141cb0ef41Sopenharmony_ci }, 41151cb0ef41Sopenharmony_ci { 41161cb0ef41Sopenharmony_ci "input": "https://@@@example", 41171cb0ef41Sopenharmony_ci "base": "http://doesnotmatter/", 41181cb0ef41Sopenharmony_ci "href": "https://%40%40@example/", 41191cb0ef41Sopenharmony_ci "origin": "https://example", 41201cb0ef41Sopenharmony_ci "protocol": "https:", 41211cb0ef41Sopenharmony_ci "username": "%40%40", 41221cb0ef41Sopenharmony_ci "password": "", 41231cb0ef41Sopenharmony_ci "host": "example", 41241cb0ef41Sopenharmony_ci "hostname": "example", 41251cb0ef41Sopenharmony_ci "port": "", 41261cb0ef41Sopenharmony_ci "pathname": "/", 41271cb0ef41Sopenharmony_ci "search": "", 41281cb0ef41Sopenharmony_ci "hash": "" 41291cb0ef41Sopenharmony_ci }, 41301cb0ef41Sopenharmony_ci "non-az-09 characters", 41311cb0ef41Sopenharmony_ci { 41321cb0ef41Sopenharmony_ci "input": "http://`{}:`{}@h/`{}?`{}", 41331cb0ef41Sopenharmony_ci "base": "http://doesnotmatter/", 41341cb0ef41Sopenharmony_ci "href": "http://%60%7B%7D:%60%7B%7D@h/%60%7B%7D?`{}", 41351cb0ef41Sopenharmony_ci "origin": "http://h", 41361cb0ef41Sopenharmony_ci "protocol": "http:", 41371cb0ef41Sopenharmony_ci "username": "%60%7B%7D", 41381cb0ef41Sopenharmony_ci "password": "%60%7B%7D", 41391cb0ef41Sopenharmony_ci "host": "h", 41401cb0ef41Sopenharmony_ci "hostname": "h", 41411cb0ef41Sopenharmony_ci "port": "", 41421cb0ef41Sopenharmony_ci "pathname": "/%60%7B%7D", 41431cb0ef41Sopenharmony_ci "search": "?`{}", 41441cb0ef41Sopenharmony_ci "hash": "" 41451cb0ef41Sopenharmony_ci }, 41461cb0ef41Sopenharmony_ci "byte is ' and url is special", 41471cb0ef41Sopenharmony_ci { 41481cb0ef41Sopenharmony_ci "input": "http://host/?'", 41491cb0ef41Sopenharmony_ci "base": null, 41501cb0ef41Sopenharmony_ci "href": "http://host/?%27", 41511cb0ef41Sopenharmony_ci "origin": "http://host", 41521cb0ef41Sopenharmony_ci "protocol": "http:", 41531cb0ef41Sopenharmony_ci "username": "", 41541cb0ef41Sopenharmony_ci "password": "", 41551cb0ef41Sopenharmony_ci "host": "host", 41561cb0ef41Sopenharmony_ci "hostname": "host", 41571cb0ef41Sopenharmony_ci "port": "", 41581cb0ef41Sopenharmony_ci "pathname": "/", 41591cb0ef41Sopenharmony_ci "search": "?%27", 41601cb0ef41Sopenharmony_ci "hash": "" 41611cb0ef41Sopenharmony_ci }, 41621cb0ef41Sopenharmony_ci { 41631cb0ef41Sopenharmony_ci "input": "notspecial://host/?'", 41641cb0ef41Sopenharmony_ci "base": null, 41651cb0ef41Sopenharmony_ci "href": "notspecial://host/?'", 41661cb0ef41Sopenharmony_ci "origin": "null", 41671cb0ef41Sopenharmony_ci "protocol": "notspecial:", 41681cb0ef41Sopenharmony_ci "username": "", 41691cb0ef41Sopenharmony_ci "password": "", 41701cb0ef41Sopenharmony_ci "host": "host", 41711cb0ef41Sopenharmony_ci "hostname": "host", 41721cb0ef41Sopenharmony_ci "port": "", 41731cb0ef41Sopenharmony_ci "pathname": "/", 41741cb0ef41Sopenharmony_ci "search": "?'", 41751cb0ef41Sopenharmony_ci "hash": "" 41761cb0ef41Sopenharmony_ci }, 41771cb0ef41Sopenharmony_ci "# Credentials in base", 41781cb0ef41Sopenharmony_ci { 41791cb0ef41Sopenharmony_ci "input": "/some/path", 41801cb0ef41Sopenharmony_ci "base": "http://user@example.org/smth", 41811cb0ef41Sopenharmony_ci "href": "http://user@example.org/some/path", 41821cb0ef41Sopenharmony_ci "origin": "http://example.org", 41831cb0ef41Sopenharmony_ci "protocol": "http:", 41841cb0ef41Sopenharmony_ci "username": "user", 41851cb0ef41Sopenharmony_ci "password": "", 41861cb0ef41Sopenharmony_ci "host": "example.org", 41871cb0ef41Sopenharmony_ci "hostname": "example.org", 41881cb0ef41Sopenharmony_ci "port": "", 41891cb0ef41Sopenharmony_ci "pathname": "/some/path", 41901cb0ef41Sopenharmony_ci "search": "", 41911cb0ef41Sopenharmony_ci "hash": "" 41921cb0ef41Sopenharmony_ci }, 41931cb0ef41Sopenharmony_ci { 41941cb0ef41Sopenharmony_ci "input": "", 41951cb0ef41Sopenharmony_ci "base": "http://user:pass@example.org:21/smth", 41961cb0ef41Sopenharmony_ci "href": "http://user:pass@example.org:21/smth", 41971cb0ef41Sopenharmony_ci "origin": "http://example.org:21", 41981cb0ef41Sopenharmony_ci "protocol": "http:", 41991cb0ef41Sopenharmony_ci "username": "user", 42001cb0ef41Sopenharmony_ci "password": "pass", 42011cb0ef41Sopenharmony_ci "host": "example.org:21", 42021cb0ef41Sopenharmony_ci "hostname": "example.org", 42031cb0ef41Sopenharmony_ci "port": "21", 42041cb0ef41Sopenharmony_ci "pathname": "/smth", 42051cb0ef41Sopenharmony_ci "search": "", 42061cb0ef41Sopenharmony_ci "hash": "" 42071cb0ef41Sopenharmony_ci }, 42081cb0ef41Sopenharmony_ci { 42091cb0ef41Sopenharmony_ci "input": "/some/path", 42101cb0ef41Sopenharmony_ci "base": "http://user:pass@example.org:21/smth", 42111cb0ef41Sopenharmony_ci "href": "http://user:pass@example.org:21/some/path", 42121cb0ef41Sopenharmony_ci "origin": "http://example.org:21", 42131cb0ef41Sopenharmony_ci "protocol": "http:", 42141cb0ef41Sopenharmony_ci "username": "user", 42151cb0ef41Sopenharmony_ci "password": "pass", 42161cb0ef41Sopenharmony_ci "host": "example.org:21", 42171cb0ef41Sopenharmony_ci "hostname": "example.org", 42181cb0ef41Sopenharmony_ci "port": "21", 42191cb0ef41Sopenharmony_ci "pathname": "/some/path", 42201cb0ef41Sopenharmony_ci "search": "", 42211cb0ef41Sopenharmony_ci "hash": "" 42221cb0ef41Sopenharmony_ci }, 42231cb0ef41Sopenharmony_ci "# a set of tests designed by zcorpan for relative URLs with unknown schemes", 42241cb0ef41Sopenharmony_ci { 42251cb0ef41Sopenharmony_ci "input": "i", 42261cb0ef41Sopenharmony_ci "base": "sc:sd", 42271cb0ef41Sopenharmony_ci "failure": true 42281cb0ef41Sopenharmony_ci }, 42291cb0ef41Sopenharmony_ci { 42301cb0ef41Sopenharmony_ci "input": "i", 42311cb0ef41Sopenharmony_ci "base": "sc:sd/sd", 42321cb0ef41Sopenharmony_ci "failure": true 42331cb0ef41Sopenharmony_ci }, 42341cb0ef41Sopenharmony_ci { 42351cb0ef41Sopenharmony_ci "input": "i", 42361cb0ef41Sopenharmony_ci "base": "sc:/pa/pa", 42371cb0ef41Sopenharmony_ci "href": "sc:/pa/i", 42381cb0ef41Sopenharmony_ci "origin": "null", 42391cb0ef41Sopenharmony_ci "protocol": "sc:", 42401cb0ef41Sopenharmony_ci "username": "", 42411cb0ef41Sopenharmony_ci "password": "", 42421cb0ef41Sopenharmony_ci "host": "", 42431cb0ef41Sopenharmony_ci "hostname": "", 42441cb0ef41Sopenharmony_ci "port": "", 42451cb0ef41Sopenharmony_ci "pathname": "/pa/i", 42461cb0ef41Sopenharmony_ci "search": "", 42471cb0ef41Sopenharmony_ci "hash": "" 42481cb0ef41Sopenharmony_ci }, 42491cb0ef41Sopenharmony_ci { 42501cb0ef41Sopenharmony_ci "input": "i", 42511cb0ef41Sopenharmony_ci "base": "sc://ho/pa", 42521cb0ef41Sopenharmony_ci "href": "sc://ho/i", 42531cb0ef41Sopenharmony_ci "origin": "null", 42541cb0ef41Sopenharmony_ci "protocol": "sc:", 42551cb0ef41Sopenharmony_ci "username": "", 42561cb0ef41Sopenharmony_ci "password": "", 42571cb0ef41Sopenharmony_ci "host": "ho", 42581cb0ef41Sopenharmony_ci "hostname": "ho", 42591cb0ef41Sopenharmony_ci "port": "", 42601cb0ef41Sopenharmony_ci "pathname": "/i", 42611cb0ef41Sopenharmony_ci "search": "", 42621cb0ef41Sopenharmony_ci "hash": "" 42631cb0ef41Sopenharmony_ci }, 42641cb0ef41Sopenharmony_ci { 42651cb0ef41Sopenharmony_ci "input": "i", 42661cb0ef41Sopenharmony_ci "base": "sc:///pa/pa", 42671cb0ef41Sopenharmony_ci "href": "sc:///pa/i", 42681cb0ef41Sopenharmony_ci "origin": "null", 42691cb0ef41Sopenharmony_ci "protocol": "sc:", 42701cb0ef41Sopenharmony_ci "username": "", 42711cb0ef41Sopenharmony_ci "password": "", 42721cb0ef41Sopenharmony_ci "host": "", 42731cb0ef41Sopenharmony_ci "hostname": "", 42741cb0ef41Sopenharmony_ci "port": "", 42751cb0ef41Sopenharmony_ci "pathname": "/pa/i", 42761cb0ef41Sopenharmony_ci "search": "", 42771cb0ef41Sopenharmony_ci "hash": "" 42781cb0ef41Sopenharmony_ci }, 42791cb0ef41Sopenharmony_ci { 42801cb0ef41Sopenharmony_ci "input": "../i", 42811cb0ef41Sopenharmony_ci "base": "sc:sd", 42821cb0ef41Sopenharmony_ci "failure": true 42831cb0ef41Sopenharmony_ci }, 42841cb0ef41Sopenharmony_ci { 42851cb0ef41Sopenharmony_ci "input": "../i", 42861cb0ef41Sopenharmony_ci "base": "sc:sd/sd", 42871cb0ef41Sopenharmony_ci "failure": true 42881cb0ef41Sopenharmony_ci }, 42891cb0ef41Sopenharmony_ci { 42901cb0ef41Sopenharmony_ci "input": "../i", 42911cb0ef41Sopenharmony_ci "base": "sc:/pa/pa", 42921cb0ef41Sopenharmony_ci "href": "sc:/i", 42931cb0ef41Sopenharmony_ci "origin": "null", 42941cb0ef41Sopenharmony_ci "protocol": "sc:", 42951cb0ef41Sopenharmony_ci "username": "", 42961cb0ef41Sopenharmony_ci "password": "", 42971cb0ef41Sopenharmony_ci "host": "", 42981cb0ef41Sopenharmony_ci "hostname": "", 42991cb0ef41Sopenharmony_ci "port": "", 43001cb0ef41Sopenharmony_ci "pathname": "/i", 43011cb0ef41Sopenharmony_ci "search": "", 43021cb0ef41Sopenharmony_ci "hash": "" 43031cb0ef41Sopenharmony_ci }, 43041cb0ef41Sopenharmony_ci { 43051cb0ef41Sopenharmony_ci "input": "../i", 43061cb0ef41Sopenharmony_ci "base": "sc://ho/pa", 43071cb0ef41Sopenharmony_ci "href": "sc://ho/i", 43081cb0ef41Sopenharmony_ci "origin": "null", 43091cb0ef41Sopenharmony_ci "protocol": "sc:", 43101cb0ef41Sopenharmony_ci "username": "", 43111cb0ef41Sopenharmony_ci "password": "", 43121cb0ef41Sopenharmony_ci "host": "ho", 43131cb0ef41Sopenharmony_ci "hostname": "ho", 43141cb0ef41Sopenharmony_ci "port": "", 43151cb0ef41Sopenharmony_ci "pathname": "/i", 43161cb0ef41Sopenharmony_ci "search": "", 43171cb0ef41Sopenharmony_ci "hash": "" 43181cb0ef41Sopenharmony_ci }, 43191cb0ef41Sopenharmony_ci { 43201cb0ef41Sopenharmony_ci "input": "../i", 43211cb0ef41Sopenharmony_ci "base": "sc:///pa/pa", 43221cb0ef41Sopenharmony_ci "href": "sc:///i", 43231cb0ef41Sopenharmony_ci "origin": "null", 43241cb0ef41Sopenharmony_ci "protocol": "sc:", 43251cb0ef41Sopenharmony_ci "username": "", 43261cb0ef41Sopenharmony_ci "password": "", 43271cb0ef41Sopenharmony_ci "host": "", 43281cb0ef41Sopenharmony_ci "hostname": "", 43291cb0ef41Sopenharmony_ci "port": "", 43301cb0ef41Sopenharmony_ci "pathname": "/i", 43311cb0ef41Sopenharmony_ci "search": "", 43321cb0ef41Sopenharmony_ci "hash": "" 43331cb0ef41Sopenharmony_ci }, 43341cb0ef41Sopenharmony_ci { 43351cb0ef41Sopenharmony_ci "input": "/i", 43361cb0ef41Sopenharmony_ci "base": "sc:sd", 43371cb0ef41Sopenharmony_ci "failure": true 43381cb0ef41Sopenharmony_ci }, 43391cb0ef41Sopenharmony_ci { 43401cb0ef41Sopenharmony_ci "input": "/i", 43411cb0ef41Sopenharmony_ci "base": "sc:sd/sd", 43421cb0ef41Sopenharmony_ci "failure": true 43431cb0ef41Sopenharmony_ci }, 43441cb0ef41Sopenharmony_ci { 43451cb0ef41Sopenharmony_ci "input": "/i", 43461cb0ef41Sopenharmony_ci "base": "sc:/pa/pa", 43471cb0ef41Sopenharmony_ci "href": "sc:/i", 43481cb0ef41Sopenharmony_ci "origin": "null", 43491cb0ef41Sopenharmony_ci "protocol": "sc:", 43501cb0ef41Sopenharmony_ci "username": "", 43511cb0ef41Sopenharmony_ci "password": "", 43521cb0ef41Sopenharmony_ci "host": "", 43531cb0ef41Sopenharmony_ci "hostname": "", 43541cb0ef41Sopenharmony_ci "port": "", 43551cb0ef41Sopenharmony_ci "pathname": "/i", 43561cb0ef41Sopenharmony_ci "search": "", 43571cb0ef41Sopenharmony_ci "hash": "" 43581cb0ef41Sopenharmony_ci }, 43591cb0ef41Sopenharmony_ci { 43601cb0ef41Sopenharmony_ci "input": "/i", 43611cb0ef41Sopenharmony_ci "base": "sc://ho/pa", 43621cb0ef41Sopenharmony_ci "href": "sc://ho/i", 43631cb0ef41Sopenharmony_ci "origin": "null", 43641cb0ef41Sopenharmony_ci "protocol": "sc:", 43651cb0ef41Sopenharmony_ci "username": "", 43661cb0ef41Sopenharmony_ci "password": "", 43671cb0ef41Sopenharmony_ci "host": "ho", 43681cb0ef41Sopenharmony_ci "hostname": "ho", 43691cb0ef41Sopenharmony_ci "port": "", 43701cb0ef41Sopenharmony_ci "pathname": "/i", 43711cb0ef41Sopenharmony_ci "search": "", 43721cb0ef41Sopenharmony_ci "hash": "" 43731cb0ef41Sopenharmony_ci }, 43741cb0ef41Sopenharmony_ci { 43751cb0ef41Sopenharmony_ci "input": "/i", 43761cb0ef41Sopenharmony_ci "base": "sc:///pa/pa", 43771cb0ef41Sopenharmony_ci "href": "sc:///i", 43781cb0ef41Sopenharmony_ci "origin": "null", 43791cb0ef41Sopenharmony_ci "protocol": "sc:", 43801cb0ef41Sopenharmony_ci "username": "", 43811cb0ef41Sopenharmony_ci "password": "", 43821cb0ef41Sopenharmony_ci "host": "", 43831cb0ef41Sopenharmony_ci "hostname": "", 43841cb0ef41Sopenharmony_ci "port": "", 43851cb0ef41Sopenharmony_ci "pathname": "/i", 43861cb0ef41Sopenharmony_ci "search": "", 43871cb0ef41Sopenharmony_ci "hash": "" 43881cb0ef41Sopenharmony_ci }, 43891cb0ef41Sopenharmony_ci { 43901cb0ef41Sopenharmony_ci "input": "?i", 43911cb0ef41Sopenharmony_ci "base": "sc:sd", 43921cb0ef41Sopenharmony_ci "failure": true 43931cb0ef41Sopenharmony_ci }, 43941cb0ef41Sopenharmony_ci { 43951cb0ef41Sopenharmony_ci "input": "?i", 43961cb0ef41Sopenharmony_ci "base": "sc:sd/sd", 43971cb0ef41Sopenharmony_ci "failure": true 43981cb0ef41Sopenharmony_ci }, 43991cb0ef41Sopenharmony_ci { 44001cb0ef41Sopenharmony_ci "input": "?i", 44011cb0ef41Sopenharmony_ci "base": "sc:/pa/pa", 44021cb0ef41Sopenharmony_ci "href": "sc:/pa/pa?i", 44031cb0ef41Sopenharmony_ci "origin": "null", 44041cb0ef41Sopenharmony_ci "protocol": "sc:", 44051cb0ef41Sopenharmony_ci "username": "", 44061cb0ef41Sopenharmony_ci "password": "", 44071cb0ef41Sopenharmony_ci "host": "", 44081cb0ef41Sopenharmony_ci "hostname": "", 44091cb0ef41Sopenharmony_ci "port": "", 44101cb0ef41Sopenharmony_ci "pathname": "/pa/pa", 44111cb0ef41Sopenharmony_ci "search": "?i", 44121cb0ef41Sopenharmony_ci "hash": "" 44131cb0ef41Sopenharmony_ci }, 44141cb0ef41Sopenharmony_ci { 44151cb0ef41Sopenharmony_ci "input": "?i", 44161cb0ef41Sopenharmony_ci "base": "sc://ho/pa", 44171cb0ef41Sopenharmony_ci "href": "sc://ho/pa?i", 44181cb0ef41Sopenharmony_ci "origin": "null", 44191cb0ef41Sopenharmony_ci "protocol": "sc:", 44201cb0ef41Sopenharmony_ci "username": "", 44211cb0ef41Sopenharmony_ci "password": "", 44221cb0ef41Sopenharmony_ci "host": "ho", 44231cb0ef41Sopenharmony_ci "hostname": "ho", 44241cb0ef41Sopenharmony_ci "port": "", 44251cb0ef41Sopenharmony_ci "pathname": "/pa", 44261cb0ef41Sopenharmony_ci "search": "?i", 44271cb0ef41Sopenharmony_ci "hash": "" 44281cb0ef41Sopenharmony_ci }, 44291cb0ef41Sopenharmony_ci { 44301cb0ef41Sopenharmony_ci "input": "?i", 44311cb0ef41Sopenharmony_ci "base": "sc:///pa/pa", 44321cb0ef41Sopenharmony_ci "href": "sc:///pa/pa?i", 44331cb0ef41Sopenharmony_ci "origin": "null", 44341cb0ef41Sopenharmony_ci "protocol": "sc:", 44351cb0ef41Sopenharmony_ci "username": "", 44361cb0ef41Sopenharmony_ci "password": "", 44371cb0ef41Sopenharmony_ci "host": "", 44381cb0ef41Sopenharmony_ci "hostname": "", 44391cb0ef41Sopenharmony_ci "port": "", 44401cb0ef41Sopenharmony_ci "pathname": "/pa/pa", 44411cb0ef41Sopenharmony_ci "search": "?i", 44421cb0ef41Sopenharmony_ci "hash": "" 44431cb0ef41Sopenharmony_ci }, 44441cb0ef41Sopenharmony_ci { 44451cb0ef41Sopenharmony_ci "input": "#i", 44461cb0ef41Sopenharmony_ci "base": "sc:sd", 44471cb0ef41Sopenharmony_ci "href": "sc:sd#i", 44481cb0ef41Sopenharmony_ci "origin": "null", 44491cb0ef41Sopenharmony_ci "protocol": "sc:", 44501cb0ef41Sopenharmony_ci "username": "", 44511cb0ef41Sopenharmony_ci "password": "", 44521cb0ef41Sopenharmony_ci "host": "", 44531cb0ef41Sopenharmony_ci "hostname": "", 44541cb0ef41Sopenharmony_ci "port": "", 44551cb0ef41Sopenharmony_ci "pathname": "sd", 44561cb0ef41Sopenharmony_ci "search": "", 44571cb0ef41Sopenharmony_ci "hash": "#i" 44581cb0ef41Sopenharmony_ci }, 44591cb0ef41Sopenharmony_ci { 44601cb0ef41Sopenharmony_ci "input": "#i", 44611cb0ef41Sopenharmony_ci "base": "sc:sd/sd", 44621cb0ef41Sopenharmony_ci "href": "sc:sd/sd#i", 44631cb0ef41Sopenharmony_ci "origin": "null", 44641cb0ef41Sopenharmony_ci "protocol": "sc:", 44651cb0ef41Sopenharmony_ci "username": "", 44661cb0ef41Sopenharmony_ci "password": "", 44671cb0ef41Sopenharmony_ci "host": "", 44681cb0ef41Sopenharmony_ci "hostname": "", 44691cb0ef41Sopenharmony_ci "port": "", 44701cb0ef41Sopenharmony_ci "pathname": "sd/sd", 44711cb0ef41Sopenharmony_ci "search": "", 44721cb0ef41Sopenharmony_ci "hash": "#i" 44731cb0ef41Sopenharmony_ci }, 44741cb0ef41Sopenharmony_ci { 44751cb0ef41Sopenharmony_ci "input": "#i", 44761cb0ef41Sopenharmony_ci "base": "sc:/pa/pa", 44771cb0ef41Sopenharmony_ci "href": "sc:/pa/pa#i", 44781cb0ef41Sopenharmony_ci "origin": "null", 44791cb0ef41Sopenharmony_ci "protocol": "sc:", 44801cb0ef41Sopenharmony_ci "username": "", 44811cb0ef41Sopenharmony_ci "password": "", 44821cb0ef41Sopenharmony_ci "host": "", 44831cb0ef41Sopenharmony_ci "hostname": "", 44841cb0ef41Sopenharmony_ci "port": "", 44851cb0ef41Sopenharmony_ci "pathname": "/pa/pa", 44861cb0ef41Sopenharmony_ci "search": "", 44871cb0ef41Sopenharmony_ci "hash": "#i" 44881cb0ef41Sopenharmony_ci }, 44891cb0ef41Sopenharmony_ci { 44901cb0ef41Sopenharmony_ci "input": "#i", 44911cb0ef41Sopenharmony_ci "base": "sc://ho/pa", 44921cb0ef41Sopenharmony_ci "href": "sc://ho/pa#i", 44931cb0ef41Sopenharmony_ci "origin": "null", 44941cb0ef41Sopenharmony_ci "protocol": "sc:", 44951cb0ef41Sopenharmony_ci "username": "", 44961cb0ef41Sopenharmony_ci "password": "", 44971cb0ef41Sopenharmony_ci "host": "ho", 44981cb0ef41Sopenharmony_ci "hostname": "ho", 44991cb0ef41Sopenharmony_ci "port": "", 45001cb0ef41Sopenharmony_ci "pathname": "/pa", 45011cb0ef41Sopenharmony_ci "search": "", 45021cb0ef41Sopenharmony_ci "hash": "#i" 45031cb0ef41Sopenharmony_ci }, 45041cb0ef41Sopenharmony_ci { 45051cb0ef41Sopenharmony_ci "input": "#i", 45061cb0ef41Sopenharmony_ci "base": "sc:///pa/pa", 45071cb0ef41Sopenharmony_ci "href": "sc:///pa/pa#i", 45081cb0ef41Sopenharmony_ci "origin": "null", 45091cb0ef41Sopenharmony_ci "protocol": "sc:", 45101cb0ef41Sopenharmony_ci "username": "", 45111cb0ef41Sopenharmony_ci "password": "", 45121cb0ef41Sopenharmony_ci "host": "", 45131cb0ef41Sopenharmony_ci "hostname": "", 45141cb0ef41Sopenharmony_ci "port": "", 45151cb0ef41Sopenharmony_ci "pathname": "/pa/pa", 45161cb0ef41Sopenharmony_ci "search": "", 45171cb0ef41Sopenharmony_ci "hash": "#i" 45181cb0ef41Sopenharmony_ci }, 45191cb0ef41Sopenharmony_ci "# make sure that relative URL logic works on known typically non-relative schemes too", 45201cb0ef41Sopenharmony_ci { 45211cb0ef41Sopenharmony_ci "input": "about:/../", 45221cb0ef41Sopenharmony_ci "base": null, 45231cb0ef41Sopenharmony_ci "href": "about:/", 45241cb0ef41Sopenharmony_ci "origin": "null", 45251cb0ef41Sopenharmony_ci "protocol": "about:", 45261cb0ef41Sopenharmony_ci "username": "", 45271cb0ef41Sopenharmony_ci "password": "", 45281cb0ef41Sopenharmony_ci "host": "", 45291cb0ef41Sopenharmony_ci "hostname": "", 45301cb0ef41Sopenharmony_ci "port": "", 45311cb0ef41Sopenharmony_ci "pathname": "/", 45321cb0ef41Sopenharmony_ci "search": "", 45331cb0ef41Sopenharmony_ci "hash": "" 45341cb0ef41Sopenharmony_ci }, 45351cb0ef41Sopenharmony_ci { 45361cb0ef41Sopenharmony_ci "input": "data:/../", 45371cb0ef41Sopenharmony_ci "base": null, 45381cb0ef41Sopenharmony_ci "href": "data:/", 45391cb0ef41Sopenharmony_ci "origin": "null", 45401cb0ef41Sopenharmony_ci "protocol": "data:", 45411cb0ef41Sopenharmony_ci "username": "", 45421cb0ef41Sopenharmony_ci "password": "", 45431cb0ef41Sopenharmony_ci "host": "", 45441cb0ef41Sopenharmony_ci "hostname": "", 45451cb0ef41Sopenharmony_ci "port": "", 45461cb0ef41Sopenharmony_ci "pathname": "/", 45471cb0ef41Sopenharmony_ci "search": "", 45481cb0ef41Sopenharmony_ci "hash": "" 45491cb0ef41Sopenharmony_ci }, 45501cb0ef41Sopenharmony_ci { 45511cb0ef41Sopenharmony_ci "input": "javascript:/../", 45521cb0ef41Sopenharmony_ci "base": null, 45531cb0ef41Sopenharmony_ci "href": "javascript:/", 45541cb0ef41Sopenharmony_ci "origin": "null", 45551cb0ef41Sopenharmony_ci "protocol": "javascript:", 45561cb0ef41Sopenharmony_ci "username": "", 45571cb0ef41Sopenharmony_ci "password": "", 45581cb0ef41Sopenharmony_ci "host": "", 45591cb0ef41Sopenharmony_ci "hostname": "", 45601cb0ef41Sopenharmony_ci "port": "", 45611cb0ef41Sopenharmony_ci "pathname": "/", 45621cb0ef41Sopenharmony_ci "search": "", 45631cb0ef41Sopenharmony_ci "hash": "" 45641cb0ef41Sopenharmony_ci }, 45651cb0ef41Sopenharmony_ci { 45661cb0ef41Sopenharmony_ci "input": "mailto:/../", 45671cb0ef41Sopenharmony_ci "base": null, 45681cb0ef41Sopenharmony_ci "href": "mailto:/", 45691cb0ef41Sopenharmony_ci "origin": "null", 45701cb0ef41Sopenharmony_ci "protocol": "mailto:", 45711cb0ef41Sopenharmony_ci "username": "", 45721cb0ef41Sopenharmony_ci "password": "", 45731cb0ef41Sopenharmony_ci "host": "", 45741cb0ef41Sopenharmony_ci "hostname": "", 45751cb0ef41Sopenharmony_ci "port": "", 45761cb0ef41Sopenharmony_ci "pathname": "/", 45771cb0ef41Sopenharmony_ci "search": "", 45781cb0ef41Sopenharmony_ci "hash": "" 45791cb0ef41Sopenharmony_ci }, 45801cb0ef41Sopenharmony_ci "# unknown schemes and their hosts", 45811cb0ef41Sopenharmony_ci { 45821cb0ef41Sopenharmony_ci "input": "sc://ñ.test/", 45831cb0ef41Sopenharmony_ci "base": null, 45841cb0ef41Sopenharmony_ci "href": "sc://%C3%B1.test/", 45851cb0ef41Sopenharmony_ci "origin": "null", 45861cb0ef41Sopenharmony_ci "protocol": "sc:", 45871cb0ef41Sopenharmony_ci "username": "", 45881cb0ef41Sopenharmony_ci "password": "", 45891cb0ef41Sopenharmony_ci "host": "%C3%B1.test", 45901cb0ef41Sopenharmony_ci "hostname": "%C3%B1.test", 45911cb0ef41Sopenharmony_ci "port": "", 45921cb0ef41Sopenharmony_ci "pathname": "/", 45931cb0ef41Sopenharmony_ci "search": "", 45941cb0ef41Sopenharmony_ci "hash": "" 45951cb0ef41Sopenharmony_ci }, 45961cb0ef41Sopenharmony_ci { 45971cb0ef41Sopenharmony_ci "input": "sc://%/", 45981cb0ef41Sopenharmony_ci "base": null, 45991cb0ef41Sopenharmony_ci "href": "sc://%/", 46001cb0ef41Sopenharmony_ci "protocol": "sc:", 46011cb0ef41Sopenharmony_ci "username": "", 46021cb0ef41Sopenharmony_ci "password": "", 46031cb0ef41Sopenharmony_ci "host": "%", 46041cb0ef41Sopenharmony_ci "hostname": "%", 46051cb0ef41Sopenharmony_ci "port": "", 46061cb0ef41Sopenharmony_ci "pathname": "/", 46071cb0ef41Sopenharmony_ci "search": "", 46081cb0ef41Sopenharmony_ci "hash": "" 46091cb0ef41Sopenharmony_ci }, 46101cb0ef41Sopenharmony_ci { 46111cb0ef41Sopenharmony_ci "input": "sc://@/", 46121cb0ef41Sopenharmony_ci "base": null, 46131cb0ef41Sopenharmony_ci "failure": true 46141cb0ef41Sopenharmony_ci }, 46151cb0ef41Sopenharmony_ci { 46161cb0ef41Sopenharmony_ci "input": "sc://te@s:t@/", 46171cb0ef41Sopenharmony_ci "base": null, 46181cb0ef41Sopenharmony_ci "failure": true 46191cb0ef41Sopenharmony_ci }, 46201cb0ef41Sopenharmony_ci { 46211cb0ef41Sopenharmony_ci "input": "sc://:/", 46221cb0ef41Sopenharmony_ci "base": null, 46231cb0ef41Sopenharmony_ci "failure": true 46241cb0ef41Sopenharmony_ci }, 46251cb0ef41Sopenharmony_ci { 46261cb0ef41Sopenharmony_ci "input": "sc://:12/", 46271cb0ef41Sopenharmony_ci "base": null, 46281cb0ef41Sopenharmony_ci "failure": true 46291cb0ef41Sopenharmony_ci }, 46301cb0ef41Sopenharmony_ci { 46311cb0ef41Sopenharmony_ci "input": "x", 46321cb0ef41Sopenharmony_ci "base": "sc://ñ", 46331cb0ef41Sopenharmony_ci "href": "sc://%C3%B1/x", 46341cb0ef41Sopenharmony_ci "origin": "null", 46351cb0ef41Sopenharmony_ci "protocol": "sc:", 46361cb0ef41Sopenharmony_ci "username": "", 46371cb0ef41Sopenharmony_ci "password": "", 46381cb0ef41Sopenharmony_ci "host": "%C3%B1", 46391cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 46401cb0ef41Sopenharmony_ci "port": "", 46411cb0ef41Sopenharmony_ci "pathname": "/x", 46421cb0ef41Sopenharmony_ci "search": "", 46431cb0ef41Sopenharmony_ci "hash": "" 46441cb0ef41Sopenharmony_ci }, 46451cb0ef41Sopenharmony_ci "# unknown schemes and backslashes", 46461cb0ef41Sopenharmony_ci { 46471cb0ef41Sopenharmony_ci "input": "sc:\\../", 46481cb0ef41Sopenharmony_ci "base": null, 46491cb0ef41Sopenharmony_ci "href": "sc:\\../", 46501cb0ef41Sopenharmony_ci "origin": "null", 46511cb0ef41Sopenharmony_ci "protocol": "sc:", 46521cb0ef41Sopenharmony_ci "username": "", 46531cb0ef41Sopenharmony_ci "password": "", 46541cb0ef41Sopenharmony_ci "host": "", 46551cb0ef41Sopenharmony_ci "hostname": "", 46561cb0ef41Sopenharmony_ci "port": "", 46571cb0ef41Sopenharmony_ci "pathname": "\\../", 46581cb0ef41Sopenharmony_ci "search": "", 46591cb0ef41Sopenharmony_ci "hash": "" 46601cb0ef41Sopenharmony_ci }, 46611cb0ef41Sopenharmony_ci "# unknown scheme with path looking like a password", 46621cb0ef41Sopenharmony_ci { 46631cb0ef41Sopenharmony_ci "input": "sc::a@example.net", 46641cb0ef41Sopenharmony_ci "base": null, 46651cb0ef41Sopenharmony_ci "href": "sc::a@example.net", 46661cb0ef41Sopenharmony_ci "origin": "null", 46671cb0ef41Sopenharmony_ci "protocol": "sc:", 46681cb0ef41Sopenharmony_ci "username": "", 46691cb0ef41Sopenharmony_ci "password": "", 46701cb0ef41Sopenharmony_ci "host": "", 46711cb0ef41Sopenharmony_ci "hostname": "", 46721cb0ef41Sopenharmony_ci "port": "", 46731cb0ef41Sopenharmony_ci "pathname": ":a@example.net", 46741cb0ef41Sopenharmony_ci "search": "", 46751cb0ef41Sopenharmony_ci "hash": "" 46761cb0ef41Sopenharmony_ci }, 46771cb0ef41Sopenharmony_ci "# unknown scheme with bogus percent-encoding", 46781cb0ef41Sopenharmony_ci { 46791cb0ef41Sopenharmony_ci "input": "wow:%NBD", 46801cb0ef41Sopenharmony_ci "base": null, 46811cb0ef41Sopenharmony_ci "href": "wow:%NBD", 46821cb0ef41Sopenharmony_ci "origin": "null", 46831cb0ef41Sopenharmony_ci "protocol": "wow:", 46841cb0ef41Sopenharmony_ci "username": "", 46851cb0ef41Sopenharmony_ci "password": "", 46861cb0ef41Sopenharmony_ci "host": "", 46871cb0ef41Sopenharmony_ci "hostname": "", 46881cb0ef41Sopenharmony_ci "port": "", 46891cb0ef41Sopenharmony_ci "pathname": "%NBD", 46901cb0ef41Sopenharmony_ci "search": "", 46911cb0ef41Sopenharmony_ci "hash": "" 46921cb0ef41Sopenharmony_ci }, 46931cb0ef41Sopenharmony_ci { 46941cb0ef41Sopenharmony_ci "input": "wow:%1G", 46951cb0ef41Sopenharmony_ci "base": null, 46961cb0ef41Sopenharmony_ci "href": "wow:%1G", 46971cb0ef41Sopenharmony_ci "origin": "null", 46981cb0ef41Sopenharmony_ci "protocol": "wow:", 46991cb0ef41Sopenharmony_ci "username": "", 47001cb0ef41Sopenharmony_ci "password": "", 47011cb0ef41Sopenharmony_ci "host": "", 47021cb0ef41Sopenharmony_ci "hostname": "", 47031cb0ef41Sopenharmony_ci "port": "", 47041cb0ef41Sopenharmony_ci "pathname": "%1G", 47051cb0ef41Sopenharmony_ci "search": "", 47061cb0ef41Sopenharmony_ci "hash": "" 47071cb0ef41Sopenharmony_ci }, 47081cb0ef41Sopenharmony_ci "# unknown scheme with non-URL characters", 47091cb0ef41Sopenharmony_ci { 47101cb0ef41Sopenharmony_ci "input": "wow:\uFFFF", 47111cb0ef41Sopenharmony_ci "base": null, 47121cb0ef41Sopenharmony_ci "href": "wow:%EF%BF%BF", 47131cb0ef41Sopenharmony_ci "origin": "null", 47141cb0ef41Sopenharmony_ci "protocol": "wow:", 47151cb0ef41Sopenharmony_ci "username": "", 47161cb0ef41Sopenharmony_ci "password": "", 47171cb0ef41Sopenharmony_ci "host": "", 47181cb0ef41Sopenharmony_ci "hostname": "", 47191cb0ef41Sopenharmony_ci "port": "", 47201cb0ef41Sopenharmony_ci "pathname": "%EF%BF%BF", 47211cb0ef41Sopenharmony_ci "search": "", 47221cb0ef41Sopenharmony_ci "hash": "" 47231cb0ef41Sopenharmony_ci }, 47241cb0ef41Sopenharmony_ci { 47251cb0ef41Sopenharmony_ci "input": "http://example.com/\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF?\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF", 47261cb0ef41Sopenharmony_ci "base": null, 47271cb0ef41Sopenharmony_ci "href": "http://example.com/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF", 47281cb0ef41Sopenharmony_ci "origin": "http://example.com", 47291cb0ef41Sopenharmony_ci "protocol": "http:", 47301cb0ef41Sopenharmony_ci "username": "", 47311cb0ef41Sopenharmony_ci "password": "", 47321cb0ef41Sopenharmony_ci "host": "example.com", 47331cb0ef41Sopenharmony_ci "hostname": "example.com", 47341cb0ef41Sopenharmony_ci "port": "", 47351cb0ef41Sopenharmony_ci "pathname": "/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF", 47361cb0ef41Sopenharmony_ci "search": "?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF", 47371cb0ef41Sopenharmony_ci "hash": "" 47381cb0ef41Sopenharmony_ci }, 47391cb0ef41Sopenharmony_ci "Forbidden host code points", 47401cb0ef41Sopenharmony_ci { 47411cb0ef41Sopenharmony_ci "input": "sc://a\u0000b/", 47421cb0ef41Sopenharmony_ci "base": null, 47431cb0ef41Sopenharmony_ci "failure": true 47441cb0ef41Sopenharmony_ci }, 47451cb0ef41Sopenharmony_ci { 47461cb0ef41Sopenharmony_ci "input": "sc://a b/", 47471cb0ef41Sopenharmony_ci "base": null, 47481cb0ef41Sopenharmony_ci "failure": true 47491cb0ef41Sopenharmony_ci }, 47501cb0ef41Sopenharmony_ci { 47511cb0ef41Sopenharmony_ci "input": "sc://a<b", 47521cb0ef41Sopenharmony_ci "base": null, 47531cb0ef41Sopenharmony_ci "failure": true 47541cb0ef41Sopenharmony_ci }, 47551cb0ef41Sopenharmony_ci { 47561cb0ef41Sopenharmony_ci "input": "sc://a>b", 47571cb0ef41Sopenharmony_ci "base": null, 47581cb0ef41Sopenharmony_ci "failure": true 47591cb0ef41Sopenharmony_ci }, 47601cb0ef41Sopenharmony_ci { 47611cb0ef41Sopenharmony_ci "input": "sc://a[b/", 47621cb0ef41Sopenharmony_ci "base": null, 47631cb0ef41Sopenharmony_ci "failure": true 47641cb0ef41Sopenharmony_ci }, 47651cb0ef41Sopenharmony_ci { 47661cb0ef41Sopenharmony_ci "input": "sc://a\\b/", 47671cb0ef41Sopenharmony_ci "base": null, 47681cb0ef41Sopenharmony_ci "failure": true 47691cb0ef41Sopenharmony_ci }, 47701cb0ef41Sopenharmony_ci { 47711cb0ef41Sopenharmony_ci "input": "sc://a]b/", 47721cb0ef41Sopenharmony_ci "base": null, 47731cb0ef41Sopenharmony_ci "failure": true 47741cb0ef41Sopenharmony_ci }, 47751cb0ef41Sopenharmony_ci { 47761cb0ef41Sopenharmony_ci "input": "sc://a^b", 47771cb0ef41Sopenharmony_ci "base": null, 47781cb0ef41Sopenharmony_ci "failure": true 47791cb0ef41Sopenharmony_ci }, 47801cb0ef41Sopenharmony_ci { 47811cb0ef41Sopenharmony_ci "input": "sc://a|b/", 47821cb0ef41Sopenharmony_ci "base": null, 47831cb0ef41Sopenharmony_ci "failure": true 47841cb0ef41Sopenharmony_ci }, 47851cb0ef41Sopenharmony_ci "Forbidden host codepoints: tabs and newlines are removed during preprocessing", 47861cb0ef41Sopenharmony_ci { 47871cb0ef41Sopenharmony_ci "input": "foo://ho\u0009st/", 47881cb0ef41Sopenharmony_ci "base": null, 47891cb0ef41Sopenharmony_ci "hash": "", 47901cb0ef41Sopenharmony_ci "host": "host", 47911cb0ef41Sopenharmony_ci "hostname": "host", 47921cb0ef41Sopenharmony_ci "href":"foo://host/", 47931cb0ef41Sopenharmony_ci "password": "", 47941cb0ef41Sopenharmony_ci "pathname": "/", 47951cb0ef41Sopenharmony_ci "port":"", 47961cb0ef41Sopenharmony_ci "protocol": "foo:", 47971cb0ef41Sopenharmony_ci "search": "", 47981cb0ef41Sopenharmony_ci "username": "" 47991cb0ef41Sopenharmony_ci }, 48001cb0ef41Sopenharmony_ci { 48011cb0ef41Sopenharmony_ci "input": "foo://ho\u000Ast/", 48021cb0ef41Sopenharmony_ci "base": null, 48031cb0ef41Sopenharmony_ci "hash": "", 48041cb0ef41Sopenharmony_ci "host": "host", 48051cb0ef41Sopenharmony_ci "hostname": "host", 48061cb0ef41Sopenharmony_ci "href":"foo://host/", 48071cb0ef41Sopenharmony_ci "password": "", 48081cb0ef41Sopenharmony_ci "pathname": "/", 48091cb0ef41Sopenharmony_ci "port":"", 48101cb0ef41Sopenharmony_ci "protocol": "foo:", 48111cb0ef41Sopenharmony_ci "search": "", 48121cb0ef41Sopenharmony_ci "username": "" 48131cb0ef41Sopenharmony_ci }, 48141cb0ef41Sopenharmony_ci { 48151cb0ef41Sopenharmony_ci "input": "foo://ho\u000Dst/", 48161cb0ef41Sopenharmony_ci "base": null, 48171cb0ef41Sopenharmony_ci "hash": "", 48181cb0ef41Sopenharmony_ci "host": "host", 48191cb0ef41Sopenharmony_ci "hostname": "host", 48201cb0ef41Sopenharmony_ci "href":"foo://host/", 48211cb0ef41Sopenharmony_ci "password": "", 48221cb0ef41Sopenharmony_ci "pathname": "/", 48231cb0ef41Sopenharmony_ci "port":"", 48241cb0ef41Sopenharmony_ci "protocol": "foo:", 48251cb0ef41Sopenharmony_ci "search": "", 48261cb0ef41Sopenharmony_ci "username": "" 48271cb0ef41Sopenharmony_ci }, 48281cb0ef41Sopenharmony_ci "Forbidden domain code-points", 48291cb0ef41Sopenharmony_ci { 48301cb0ef41Sopenharmony_ci "input": "http://a\u0000b/", 48311cb0ef41Sopenharmony_ci "base": null, 48321cb0ef41Sopenharmony_ci "failure": true 48331cb0ef41Sopenharmony_ci }, 48341cb0ef41Sopenharmony_ci { 48351cb0ef41Sopenharmony_ci "input": "http://a\u0001b/", 48361cb0ef41Sopenharmony_ci "base": null, 48371cb0ef41Sopenharmony_ci "failure": true 48381cb0ef41Sopenharmony_ci }, 48391cb0ef41Sopenharmony_ci { 48401cb0ef41Sopenharmony_ci "input": "http://a\u0002b/", 48411cb0ef41Sopenharmony_ci "base": null, 48421cb0ef41Sopenharmony_ci "failure": true 48431cb0ef41Sopenharmony_ci }, 48441cb0ef41Sopenharmony_ci { 48451cb0ef41Sopenharmony_ci "input": "http://a\u0003b/", 48461cb0ef41Sopenharmony_ci "base": null, 48471cb0ef41Sopenharmony_ci "failure": true 48481cb0ef41Sopenharmony_ci }, 48491cb0ef41Sopenharmony_ci { 48501cb0ef41Sopenharmony_ci "input": "http://a\u0004b/", 48511cb0ef41Sopenharmony_ci "base": null, 48521cb0ef41Sopenharmony_ci "failure": true 48531cb0ef41Sopenharmony_ci }, 48541cb0ef41Sopenharmony_ci { 48551cb0ef41Sopenharmony_ci "input": "http://a\u0005b/", 48561cb0ef41Sopenharmony_ci "base": null, 48571cb0ef41Sopenharmony_ci "failure": true 48581cb0ef41Sopenharmony_ci }, 48591cb0ef41Sopenharmony_ci { 48601cb0ef41Sopenharmony_ci "input": "http://a\u0006b/", 48611cb0ef41Sopenharmony_ci "base": null, 48621cb0ef41Sopenharmony_ci "failure": true 48631cb0ef41Sopenharmony_ci }, 48641cb0ef41Sopenharmony_ci { 48651cb0ef41Sopenharmony_ci "input": "http://a\u0007b/", 48661cb0ef41Sopenharmony_ci "base": null, 48671cb0ef41Sopenharmony_ci "failure": true 48681cb0ef41Sopenharmony_ci }, 48691cb0ef41Sopenharmony_ci { 48701cb0ef41Sopenharmony_ci "input": "http://a\u0008b/", 48711cb0ef41Sopenharmony_ci "base": null, 48721cb0ef41Sopenharmony_ci "failure": true 48731cb0ef41Sopenharmony_ci }, 48741cb0ef41Sopenharmony_ci { 48751cb0ef41Sopenharmony_ci "input": "http://a\u000Bb/", 48761cb0ef41Sopenharmony_ci "base": null, 48771cb0ef41Sopenharmony_ci "failure": true 48781cb0ef41Sopenharmony_ci }, 48791cb0ef41Sopenharmony_ci { 48801cb0ef41Sopenharmony_ci "input": "http://a\u000Cb/", 48811cb0ef41Sopenharmony_ci "base": null, 48821cb0ef41Sopenharmony_ci "failure": true 48831cb0ef41Sopenharmony_ci }, 48841cb0ef41Sopenharmony_ci { 48851cb0ef41Sopenharmony_ci "input": "http://a\u000Eb/", 48861cb0ef41Sopenharmony_ci "base": null, 48871cb0ef41Sopenharmony_ci "failure": true 48881cb0ef41Sopenharmony_ci }, 48891cb0ef41Sopenharmony_ci { 48901cb0ef41Sopenharmony_ci "input": "http://a\u000Fb/", 48911cb0ef41Sopenharmony_ci "base": null, 48921cb0ef41Sopenharmony_ci "failure": true 48931cb0ef41Sopenharmony_ci }, 48941cb0ef41Sopenharmony_ci { 48951cb0ef41Sopenharmony_ci "input": "http://a\u0010b/", 48961cb0ef41Sopenharmony_ci "base": null, 48971cb0ef41Sopenharmony_ci "failure": true 48981cb0ef41Sopenharmony_ci }, 48991cb0ef41Sopenharmony_ci { 49001cb0ef41Sopenharmony_ci "input": "http://a\u0011b/", 49011cb0ef41Sopenharmony_ci "base": null, 49021cb0ef41Sopenharmony_ci "failure": true 49031cb0ef41Sopenharmony_ci }, 49041cb0ef41Sopenharmony_ci { 49051cb0ef41Sopenharmony_ci "input": "http://a\u0012b/", 49061cb0ef41Sopenharmony_ci "base": null, 49071cb0ef41Sopenharmony_ci "failure": true 49081cb0ef41Sopenharmony_ci }, 49091cb0ef41Sopenharmony_ci { 49101cb0ef41Sopenharmony_ci "input": "http://a\u0013b/", 49111cb0ef41Sopenharmony_ci "base": null, 49121cb0ef41Sopenharmony_ci "failure": true 49131cb0ef41Sopenharmony_ci }, 49141cb0ef41Sopenharmony_ci { 49151cb0ef41Sopenharmony_ci "input": "http://a\u0014b/", 49161cb0ef41Sopenharmony_ci "base": null, 49171cb0ef41Sopenharmony_ci "failure": true 49181cb0ef41Sopenharmony_ci }, 49191cb0ef41Sopenharmony_ci { 49201cb0ef41Sopenharmony_ci "input": "http://a\u0015b/", 49211cb0ef41Sopenharmony_ci "base": null, 49221cb0ef41Sopenharmony_ci "failure": true 49231cb0ef41Sopenharmony_ci }, 49241cb0ef41Sopenharmony_ci { 49251cb0ef41Sopenharmony_ci "input": "http://a\u0016b/", 49261cb0ef41Sopenharmony_ci "base": null, 49271cb0ef41Sopenharmony_ci "failure": true 49281cb0ef41Sopenharmony_ci }, 49291cb0ef41Sopenharmony_ci { 49301cb0ef41Sopenharmony_ci "input": "http://a\u0017b/", 49311cb0ef41Sopenharmony_ci "base": null, 49321cb0ef41Sopenharmony_ci "failure": true 49331cb0ef41Sopenharmony_ci }, 49341cb0ef41Sopenharmony_ci { 49351cb0ef41Sopenharmony_ci "input": "http://a\u0018b/", 49361cb0ef41Sopenharmony_ci "base": null, 49371cb0ef41Sopenharmony_ci "failure": true 49381cb0ef41Sopenharmony_ci }, 49391cb0ef41Sopenharmony_ci { 49401cb0ef41Sopenharmony_ci "input": "http://a\u0019b/", 49411cb0ef41Sopenharmony_ci "base": null, 49421cb0ef41Sopenharmony_ci "failure": true 49431cb0ef41Sopenharmony_ci }, 49441cb0ef41Sopenharmony_ci { 49451cb0ef41Sopenharmony_ci "input": "http://a\u001Ab/", 49461cb0ef41Sopenharmony_ci "base": null, 49471cb0ef41Sopenharmony_ci "failure": true 49481cb0ef41Sopenharmony_ci }, 49491cb0ef41Sopenharmony_ci { 49501cb0ef41Sopenharmony_ci "input": "http://a\u001Bb/", 49511cb0ef41Sopenharmony_ci "base": null, 49521cb0ef41Sopenharmony_ci "failure": true 49531cb0ef41Sopenharmony_ci }, 49541cb0ef41Sopenharmony_ci { 49551cb0ef41Sopenharmony_ci "input": "http://a\u001Cb/", 49561cb0ef41Sopenharmony_ci "base": null, 49571cb0ef41Sopenharmony_ci "failure": true 49581cb0ef41Sopenharmony_ci }, 49591cb0ef41Sopenharmony_ci { 49601cb0ef41Sopenharmony_ci "input": "http://a\u001Db/", 49611cb0ef41Sopenharmony_ci "base": null, 49621cb0ef41Sopenharmony_ci "failure": true 49631cb0ef41Sopenharmony_ci }, 49641cb0ef41Sopenharmony_ci { 49651cb0ef41Sopenharmony_ci "input": "http://a\u001Eb/", 49661cb0ef41Sopenharmony_ci "base": null, 49671cb0ef41Sopenharmony_ci "failure": true 49681cb0ef41Sopenharmony_ci }, 49691cb0ef41Sopenharmony_ci { 49701cb0ef41Sopenharmony_ci "input": "http://a\u001Fb/", 49711cb0ef41Sopenharmony_ci "base": null, 49721cb0ef41Sopenharmony_ci "failure": true 49731cb0ef41Sopenharmony_ci }, 49741cb0ef41Sopenharmony_ci { 49751cb0ef41Sopenharmony_ci "input": "http://a b/", 49761cb0ef41Sopenharmony_ci "base": null, 49771cb0ef41Sopenharmony_ci "failure": true 49781cb0ef41Sopenharmony_ci }, 49791cb0ef41Sopenharmony_ci { 49801cb0ef41Sopenharmony_ci "input": "http://a%b/", 49811cb0ef41Sopenharmony_ci "base": null, 49821cb0ef41Sopenharmony_ci "failure": true 49831cb0ef41Sopenharmony_ci }, 49841cb0ef41Sopenharmony_ci { 49851cb0ef41Sopenharmony_ci "input": "http://a<b", 49861cb0ef41Sopenharmony_ci "base": null, 49871cb0ef41Sopenharmony_ci "failure": true 49881cb0ef41Sopenharmony_ci }, 49891cb0ef41Sopenharmony_ci { 49901cb0ef41Sopenharmony_ci "input": "http://a>b", 49911cb0ef41Sopenharmony_ci "base": null, 49921cb0ef41Sopenharmony_ci "failure": true 49931cb0ef41Sopenharmony_ci }, 49941cb0ef41Sopenharmony_ci { 49951cb0ef41Sopenharmony_ci "input": "http://a[b/", 49961cb0ef41Sopenharmony_ci "base": null, 49971cb0ef41Sopenharmony_ci "failure": true 49981cb0ef41Sopenharmony_ci }, 49991cb0ef41Sopenharmony_ci { 50001cb0ef41Sopenharmony_ci "input": "http://a]b/", 50011cb0ef41Sopenharmony_ci "base": null, 50021cb0ef41Sopenharmony_ci "failure": true 50031cb0ef41Sopenharmony_ci }, 50041cb0ef41Sopenharmony_ci { 50051cb0ef41Sopenharmony_ci "input": "http://a^b", 50061cb0ef41Sopenharmony_ci "base": null, 50071cb0ef41Sopenharmony_ci "failure": true 50081cb0ef41Sopenharmony_ci }, 50091cb0ef41Sopenharmony_ci { 50101cb0ef41Sopenharmony_ci "input": "http://a|b/", 50111cb0ef41Sopenharmony_ci "base": null, 50121cb0ef41Sopenharmony_ci "failure": true 50131cb0ef41Sopenharmony_ci }, 50141cb0ef41Sopenharmony_ci { 50151cb0ef41Sopenharmony_ci "input": "http://a\u007Fb/", 50161cb0ef41Sopenharmony_ci "base": null, 50171cb0ef41Sopenharmony_ci "failure": true 50181cb0ef41Sopenharmony_ci }, 50191cb0ef41Sopenharmony_ci "Forbidden domain codepoints: tabs and newlines are removed during preprocessing", 50201cb0ef41Sopenharmony_ci { 50211cb0ef41Sopenharmony_ci "input": "http://ho\u0009st/", 50221cb0ef41Sopenharmony_ci "base": null, 50231cb0ef41Sopenharmony_ci "hash": "", 50241cb0ef41Sopenharmony_ci "host": "host", 50251cb0ef41Sopenharmony_ci "hostname": "host", 50261cb0ef41Sopenharmony_ci "href":"http://host/", 50271cb0ef41Sopenharmony_ci "password": "", 50281cb0ef41Sopenharmony_ci "pathname": "/", 50291cb0ef41Sopenharmony_ci "port":"", 50301cb0ef41Sopenharmony_ci "protocol": "http:", 50311cb0ef41Sopenharmony_ci "search": "", 50321cb0ef41Sopenharmony_ci "username": "" 50331cb0ef41Sopenharmony_ci }, 50341cb0ef41Sopenharmony_ci { 50351cb0ef41Sopenharmony_ci "input": "http://ho\u000Ast/", 50361cb0ef41Sopenharmony_ci "base": null, 50371cb0ef41Sopenharmony_ci "hash": "", 50381cb0ef41Sopenharmony_ci "host": "host", 50391cb0ef41Sopenharmony_ci "hostname": "host", 50401cb0ef41Sopenharmony_ci "href":"http://host/", 50411cb0ef41Sopenharmony_ci "password": "", 50421cb0ef41Sopenharmony_ci "pathname": "/", 50431cb0ef41Sopenharmony_ci "port":"", 50441cb0ef41Sopenharmony_ci "protocol": "http:", 50451cb0ef41Sopenharmony_ci "search": "", 50461cb0ef41Sopenharmony_ci "username": "" 50471cb0ef41Sopenharmony_ci }, 50481cb0ef41Sopenharmony_ci { 50491cb0ef41Sopenharmony_ci "input": "http://ho\u000Dst/", 50501cb0ef41Sopenharmony_ci "base": null, 50511cb0ef41Sopenharmony_ci "hash": "", 50521cb0ef41Sopenharmony_ci "host": "host", 50531cb0ef41Sopenharmony_ci "hostname": "host", 50541cb0ef41Sopenharmony_ci "href":"http://host/", 50551cb0ef41Sopenharmony_ci "password": "", 50561cb0ef41Sopenharmony_ci "pathname": "/", 50571cb0ef41Sopenharmony_ci "port":"", 50581cb0ef41Sopenharmony_ci "protocol": "http:", 50591cb0ef41Sopenharmony_ci "search": "", 50601cb0ef41Sopenharmony_ci "username": "" 50611cb0ef41Sopenharmony_ci }, 50621cb0ef41Sopenharmony_ci "Encoded forbidden domain codepoints in special URLs", 50631cb0ef41Sopenharmony_ci { 50641cb0ef41Sopenharmony_ci "input": "http://ho%00st/", 50651cb0ef41Sopenharmony_ci "base": null, 50661cb0ef41Sopenharmony_ci "failure": true 50671cb0ef41Sopenharmony_ci }, 50681cb0ef41Sopenharmony_ci { 50691cb0ef41Sopenharmony_ci "input": "http://ho%01st/", 50701cb0ef41Sopenharmony_ci "base": null, 50711cb0ef41Sopenharmony_ci "failure": true 50721cb0ef41Sopenharmony_ci }, 50731cb0ef41Sopenharmony_ci { 50741cb0ef41Sopenharmony_ci "input": "http://ho%02st/", 50751cb0ef41Sopenharmony_ci "base": null, 50761cb0ef41Sopenharmony_ci "failure": true 50771cb0ef41Sopenharmony_ci }, 50781cb0ef41Sopenharmony_ci { 50791cb0ef41Sopenharmony_ci "input": "http://ho%03st/", 50801cb0ef41Sopenharmony_ci "base": null, 50811cb0ef41Sopenharmony_ci "failure": true 50821cb0ef41Sopenharmony_ci }, 50831cb0ef41Sopenharmony_ci { 50841cb0ef41Sopenharmony_ci "input": "http://ho%04st/", 50851cb0ef41Sopenharmony_ci "base": null, 50861cb0ef41Sopenharmony_ci "failure": true 50871cb0ef41Sopenharmony_ci }, 50881cb0ef41Sopenharmony_ci { 50891cb0ef41Sopenharmony_ci "input": "http://ho%05st/", 50901cb0ef41Sopenharmony_ci "base": null, 50911cb0ef41Sopenharmony_ci "failure": true 50921cb0ef41Sopenharmony_ci }, 50931cb0ef41Sopenharmony_ci { 50941cb0ef41Sopenharmony_ci "input": "http://ho%06st/", 50951cb0ef41Sopenharmony_ci "base": null, 50961cb0ef41Sopenharmony_ci "failure": true 50971cb0ef41Sopenharmony_ci }, 50981cb0ef41Sopenharmony_ci { 50991cb0ef41Sopenharmony_ci "input": "http://ho%07st/", 51001cb0ef41Sopenharmony_ci "base": null, 51011cb0ef41Sopenharmony_ci "failure": true 51021cb0ef41Sopenharmony_ci }, 51031cb0ef41Sopenharmony_ci { 51041cb0ef41Sopenharmony_ci "input": "http://ho%08st/", 51051cb0ef41Sopenharmony_ci "base": null, 51061cb0ef41Sopenharmony_ci "failure": true 51071cb0ef41Sopenharmony_ci }, 51081cb0ef41Sopenharmony_ci { 51091cb0ef41Sopenharmony_ci "input": "http://ho%09st/", 51101cb0ef41Sopenharmony_ci "base": null, 51111cb0ef41Sopenharmony_ci "failure": true 51121cb0ef41Sopenharmony_ci }, 51131cb0ef41Sopenharmony_ci { 51141cb0ef41Sopenharmony_ci "input": "http://ho%0Ast/", 51151cb0ef41Sopenharmony_ci "base": null, 51161cb0ef41Sopenharmony_ci "failure": true 51171cb0ef41Sopenharmony_ci }, 51181cb0ef41Sopenharmony_ci { 51191cb0ef41Sopenharmony_ci "input": "http://ho%0Bst/", 51201cb0ef41Sopenharmony_ci "base": null, 51211cb0ef41Sopenharmony_ci "failure": true 51221cb0ef41Sopenharmony_ci }, 51231cb0ef41Sopenharmony_ci { 51241cb0ef41Sopenharmony_ci "input": "http://ho%0Cst/", 51251cb0ef41Sopenharmony_ci "base": null, 51261cb0ef41Sopenharmony_ci "failure": true 51271cb0ef41Sopenharmony_ci }, 51281cb0ef41Sopenharmony_ci { 51291cb0ef41Sopenharmony_ci "input": "http://ho%0Dst/", 51301cb0ef41Sopenharmony_ci "base": null, 51311cb0ef41Sopenharmony_ci "failure": true 51321cb0ef41Sopenharmony_ci }, 51331cb0ef41Sopenharmony_ci { 51341cb0ef41Sopenharmony_ci "input": "http://ho%0Est/", 51351cb0ef41Sopenharmony_ci "base": null, 51361cb0ef41Sopenharmony_ci "failure": true 51371cb0ef41Sopenharmony_ci }, 51381cb0ef41Sopenharmony_ci { 51391cb0ef41Sopenharmony_ci "input": "http://ho%0Fst/", 51401cb0ef41Sopenharmony_ci "base": null, 51411cb0ef41Sopenharmony_ci "failure": true 51421cb0ef41Sopenharmony_ci }, 51431cb0ef41Sopenharmony_ci { 51441cb0ef41Sopenharmony_ci "input": "http://ho%10st/", 51451cb0ef41Sopenharmony_ci "base": null, 51461cb0ef41Sopenharmony_ci "failure": true 51471cb0ef41Sopenharmony_ci }, 51481cb0ef41Sopenharmony_ci { 51491cb0ef41Sopenharmony_ci "input": "http://ho%11st/", 51501cb0ef41Sopenharmony_ci "base": null, 51511cb0ef41Sopenharmony_ci "failure": true 51521cb0ef41Sopenharmony_ci }, 51531cb0ef41Sopenharmony_ci { 51541cb0ef41Sopenharmony_ci "input": "http://ho%12st/", 51551cb0ef41Sopenharmony_ci "base": null, 51561cb0ef41Sopenharmony_ci "failure": true 51571cb0ef41Sopenharmony_ci }, 51581cb0ef41Sopenharmony_ci { 51591cb0ef41Sopenharmony_ci "input": "http://ho%13st/", 51601cb0ef41Sopenharmony_ci "base": null, 51611cb0ef41Sopenharmony_ci "failure": true 51621cb0ef41Sopenharmony_ci }, 51631cb0ef41Sopenharmony_ci { 51641cb0ef41Sopenharmony_ci "input": "http://ho%14st/", 51651cb0ef41Sopenharmony_ci "base": null, 51661cb0ef41Sopenharmony_ci "failure": true 51671cb0ef41Sopenharmony_ci }, 51681cb0ef41Sopenharmony_ci { 51691cb0ef41Sopenharmony_ci "input": "http://ho%15st/", 51701cb0ef41Sopenharmony_ci "base": null, 51711cb0ef41Sopenharmony_ci "failure": true 51721cb0ef41Sopenharmony_ci }, 51731cb0ef41Sopenharmony_ci { 51741cb0ef41Sopenharmony_ci "input": "http://ho%16st/", 51751cb0ef41Sopenharmony_ci "base": null, 51761cb0ef41Sopenharmony_ci "failure": true 51771cb0ef41Sopenharmony_ci }, 51781cb0ef41Sopenharmony_ci { 51791cb0ef41Sopenharmony_ci "input": "http://ho%17st/", 51801cb0ef41Sopenharmony_ci "base": null, 51811cb0ef41Sopenharmony_ci "failure": true 51821cb0ef41Sopenharmony_ci }, 51831cb0ef41Sopenharmony_ci { 51841cb0ef41Sopenharmony_ci "input": "http://ho%18st/", 51851cb0ef41Sopenharmony_ci "base": null, 51861cb0ef41Sopenharmony_ci "failure": true 51871cb0ef41Sopenharmony_ci }, 51881cb0ef41Sopenharmony_ci { 51891cb0ef41Sopenharmony_ci "input": "http://ho%19st/", 51901cb0ef41Sopenharmony_ci "base": null, 51911cb0ef41Sopenharmony_ci "failure": true 51921cb0ef41Sopenharmony_ci }, 51931cb0ef41Sopenharmony_ci { 51941cb0ef41Sopenharmony_ci "input": "http://ho%1Ast/", 51951cb0ef41Sopenharmony_ci "base": null, 51961cb0ef41Sopenharmony_ci "failure": true 51971cb0ef41Sopenharmony_ci }, 51981cb0ef41Sopenharmony_ci { 51991cb0ef41Sopenharmony_ci "input": "http://ho%1Bst/", 52001cb0ef41Sopenharmony_ci "base": null, 52011cb0ef41Sopenharmony_ci "failure": true 52021cb0ef41Sopenharmony_ci }, 52031cb0ef41Sopenharmony_ci { 52041cb0ef41Sopenharmony_ci "input": "http://ho%1Cst/", 52051cb0ef41Sopenharmony_ci "base": null, 52061cb0ef41Sopenharmony_ci "failure": true 52071cb0ef41Sopenharmony_ci }, 52081cb0ef41Sopenharmony_ci { 52091cb0ef41Sopenharmony_ci "input": "http://ho%1Dst/", 52101cb0ef41Sopenharmony_ci "base": null, 52111cb0ef41Sopenharmony_ci "failure": true 52121cb0ef41Sopenharmony_ci }, 52131cb0ef41Sopenharmony_ci { 52141cb0ef41Sopenharmony_ci "input": "http://ho%1Est/", 52151cb0ef41Sopenharmony_ci "base": null, 52161cb0ef41Sopenharmony_ci "failure": true 52171cb0ef41Sopenharmony_ci }, 52181cb0ef41Sopenharmony_ci { 52191cb0ef41Sopenharmony_ci "input": "http://ho%1Fst/", 52201cb0ef41Sopenharmony_ci "base": null, 52211cb0ef41Sopenharmony_ci "failure": true 52221cb0ef41Sopenharmony_ci }, 52231cb0ef41Sopenharmony_ci { 52241cb0ef41Sopenharmony_ci "input": "http://ho%20st/", 52251cb0ef41Sopenharmony_ci "base": null, 52261cb0ef41Sopenharmony_ci "failure": true 52271cb0ef41Sopenharmony_ci }, 52281cb0ef41Sopenharmony_ci { 52291cb0ef41Sopenharmony_ci "input": "http://ho%23st/", 52301cb0ef41Sopenharmony_ci "base": null, 52311cb0ef41Sopenharmony_ci "failure": true 52321cb0ef41Sopenharmony_ci }, 52331cb0ef41Sopenharmony_ci { 52341cb0ef41Sopenharmony_ci "input": "http://ho%25st/", 52351cb0ef41Sopenharmony_ci "base": null, 52361cb0ef41Sopenharmony_ci "failure": true 52371cb0ef41Sopenharmony_ci }, 52381cb0ef41Sopenharmony_ci { 52391cb0ef41Sopenharmony_ci "input": "http://ho%2Fst/", 52401cb0ef41Sopenharmony_ci "base": null, 52411cb0ef41Sopenharmony_ci "failure": true 52421cb0ef41Sopenharmony_ci }, 52431cb0ef41Sopenharmony_ci { 52441cb0ef41Sopenharmony_ci "input": "http://ho%3Ast/", 52451cb0ef41Sopenharmony_ci "base": null, 52461cb0ef41Sopenharmony_ci "failure": true 52471cb0ef41Sopenharmony_ci }, 52481cb0ef41Sopenharmony_ci { 52491cb0ef41Sopenharmony_ci "input": "http://ho%3Cst/", 52501cb0ef41Sopenharmony_ci "base": null, 52511cb0ef41Sopenharmony_ci "failure": true 52521cb0ef41Sopenharmony_ci }, 52531cb0ef41Sopenharmony_ci { 52541cb0ef41Sopenharmony_ci "input": "http://ho%3Est/", 52551cb0ef41Sopenharmony_ci "base": null, 52561cb0ef41Sopenharmony_ci "failure": true 52571cb0ef41Sopenharmony_ci }, 52581cb0ef41Sopenharmony_ci { 52591cb0ef41Sopenharmony_ci "input": "http://ho%3Fst/", 52601cb0ef41Sopenharmony_ci "base": null, 52611cb0ef41Sopenharmony_ci "failure": true 52621cb0ef41Sopenharmony_ci }, 52631cb0ef41Sopenharmony_ci { 52641cb0ef41Sopenharmony_ci "input": "http://ho%40st/", 52651cb0ef41Sopenharmony_ci "base": null, 52661cb0ef41Sopenharmony_ci "failure": true 52671cb0ef41Sopenharmony_ci }, 52681cb0ef41Sopenharmony_ci { 52691cb0ef41Sopenharmony_ci "input": "http://ho%5Bst/", 52701cb0ef41Sopenharmony_ci "base": null, 52711cb0ef41Sopenharmony_ci "failure": true 52721cb0ef41Sopenharmony_ci }, 52731cb0ef41Sopenharmony_ci { 52741cb0ef41Sopenharmony_ci "input": "http://ho%5Cst/", 52751cb0ef41Sopenharmony_ci "base": null, 52761cb0ef41Sopenharmony_ci "failure": true 52771cb0ef41Sopenharmony_ci }, 52781cb0ef41Sopenharmony_ci { 52791cb0ef41Sopenharmony_ci "input": "http://ho%5Dst/", 52801cb0ef41Sopenharmony_ci "base": null, 52811cb0ef41Sopenharmony_ci "failure": true 52821cb0ef41Sopenharmony_ci }, 52831cb0ef41Sopenharmony_ci { 52841cb0ef41Sopenharmony_ci "input": "http://ho%7Cst/", 52851cb0ef41Sopenharmony_ci "base": null, 52861cb0ef41Sopenharmony_ci "failure": true 52871cb0ef41Sopenharmony_ci }, 52881cb0ef41Sopenharmony_ci { 52891cb0ef41Sopenharmony_ci "input": "http://ho%7Fst/", 52901cb0ef41Sopenharmony_ci "base": null, 52911cb0ef41Sopenharmony_ci "failure": true 52921cb0ef41Sopenharmony_ci }, 52931cb0ef41Sopenharmony_ci "Allowed host/domain code points", 52941cb0ef41Sopenharmony_ci { 52951cb0ef41Sopenharmony_ci "input": "http://!\"$&'()*+,-.;=_`{}~/", 52961cb0ef41Sopenharmony_ci "base": null, 52971cb0ef41Sopenharmony_ci "href": "http://!\"$&'()*+,-.;=_`{}~/", 52981cb0ef41Sopenharmony_ci "origin": "http://!\"$&'()*+,-.;=_`{}~", 52991cb0ef41Sopenharmony_ci "protocol": "http:", 53001cb0ef41Sopenharmony_ci "username": "", 53011cb0ef41Sopenharmony_ci "password": "", 53021cb0ef41Sopenharmony_ci "host": "!\"$&'()*+,-.;=_`{}~", 53031cb0ef41Sopenharmony_ci "hostname": "!\"$&'()*+,-.;=_`{}~", 53041cb0ef41Sopenharmony_ci "port": "", 53051cb0ef41Sopenharmony_ci "pathname": "/", 53061cb0ef41Sopenharmony_ci "search": "", 53071cb0ef41Sopenharmony_ci "hash": "" 53081cb0ef41Sopenharmony_ci }, 53091cb0ef41Sopenharmony_ci { 53101cb0ef41Sopenharmony_ci "input": "sc://\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F\u007F!\"$%&'()*+,-.;=_`{}~/", 53111cb0ef41Sopenharmony_ci "base": null, 53121cb0ef41Sopenharmony_ci "href": "sc://%01%02%03%04%05%06%07%08%0B%0C%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F!\"$%&'()*+,-.;=_`{}~/", 53131cb0ef41Sopenharmony_ci "origin": "null", 53141cb0ef41Sopenharmony_ci "protocol": "sc:", 53151cb0ef41Sopenharmony_ci "username": "", 53161cb0ef41Sopenharmony_ci "password": "", 53171cb0ef41Sopenharmony_ci "host": "%01%02%03%04%05%06%07%08%0B%0C%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F!\"$%&'()*+,-.;=_`{}~", 53181cb0ef41Sopenharmony_ci "hostname": "%01%02%03%04%05%06%07%08%0B%0C%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F!\"$%&'()*+,-.;=_`{}~", 53191cb0ef41Sopenharmony_ci "port": "", 53201cb0ef41Sopenharmony_ci "pathname": "/", 53211cb0ef41Sopenharmony_ci "search": "", 53221cb0ef41Sopenharmony_ci "hash": "" 53231cb0ef41Sopenharmony_ci }, 53241cb0ef41Sopenharmony_ci "# Hosts and percent-encoding", 53251cb0ef41Sopenharmony_ci { 53261cb0ef41Sopenharmony_ci "input": "ftp://example.com%80/", 53271cb0ef41Sopenharmony_ci "base": null, 53281cb0ef41Sopenharmony_ci "failure": true 53291cb0ef41Sopenharmony_ci }, 53301cb0ef41Sopenharmony_ci { 53311cb0ef41Sopenharmony_ci "input": "ftp://example.com%A0/", 53321cb0ef41Sopenharmony_ci "base": null, 53331cb0ef41Sopenharmony_ci "failure": true 53341cb0ef41Sopenharmony_ci }, 53351cb0ef41Sopenharmony_ci { 53361cb0ef41Sopenharmony_ci "input": "https://example.com%80/", 53371cb0ef41Sopenharmony_ci "base": null, 53381cb0ef41Sopenharmony_ci "failure": true 53391cb0ef41Sopenharmony_ci }, 53401cb0ef41Sopenharmony_ci { 53411cb0ef41Sopenharmony_ci "input": "https://example.com%A0/", 53421cb0ef41Sopenharmony_ci "base": null, 53431cb0ef41Sopenharmony_ci "failure": true 53441cb0ef41Sopenharmony_ci }, 53451cb0ef41Sopenharmony_ci { 53461cb0ef41Sopenharmony_ci "input": "ftp://%e2%98%83", 53471cb0ef41Sopenharmony_ci "base": null, 53481cb0ef41Sopenharmony_ci "href": "ftp://xn--n3h/", 53491cb0ef41Sopenharmony_ci "origin": "ftp://xn--n3h", 53501cb0ef41Sopenharmony_ci "protocol": "ftp:", 53511cb0ef41Sopenharmony_ci "username": "", 53521cb0ef41Sopenharmony_ci "password": "", 53531cb0ef41Sopenharmony_ci "host": "xn--n3h", 53541cb0ef41Sopenharmony_ci "hostname": "xn--n3h", 53551cb0ef41Sopenharmony_ci "port": "", 53561cb0ef41Sopenharmony_ci "pathname": "/", 53571cb0ef41Sopenharmony_ci "search": "", 53581cb0ef41Sopenharmony_ci "hash": "" 53591cb0ef41Sopenharmony_ci }, 53601cb0ef41Sopenharmony_ci { 53611cb0ef41Sopenharmony_ci "input": "https://%e2%98%83", 53621cb0ef41Sopenharmony_ci "base": null, 53631cb0ef41Sopenharmony_ci "href": "https://xn--n3h/", 53641cb0ef41Sopenharmony_ci "origin": "https://xn--n3h", 53651cb0ef41Sopenharmony_ci "protocol": "https:", 53661cb0ef41Sopenharmony_ci "username": "", 53671cb0ef41Sopenharmony_ci "password": "", 53681cb0ef41Sopenharmony_ci "host": "xn--n3h", 53691cb0ef41Sopenharmony_ci "hostname": "xn--n3h", 53701cb0ef41Sopenharmony_ci "port": "", 53711cb0ef41Sopenharmony_ci "pathname": "/", 53721cb0ef41Sopenharmony_ci "search": "", 53731cb0ef41Sopenharmony_ci "hash": "" 53741cb0ef41Sopenharmony_ci }, 53751cb0ef41Sopenharmony_ci "# tests from jsdom/whatwg-url designed for code coverage", 53761cb0ef41Sopenharmony_ci { 53771cb0ef41Sopenharmony_ci "input": "http://127.0.0.1:10100/relative_import.html", 53781cb0ef41Sopenharmony_ci "base": null, 53791cb0ef41Sopenharmony_ci "href": "http://127.0.0.1:10100/relative_import.html", 53801cb0ef41Sopenharmony_ci "origin": "http://127.0.0.1:10100", 53811cb0ef41Sopenharmony_ci "protocol": "http:", 53821cb0ef41Sopenharmony_ci "username": "", 53831cb0ef41Sopenharmony_ci "password": "", 53841cb0ef41Sopenharmony_ci "host": "127.0.0.1:10100", 53851cb0ef41Sopenharmony_ci "hostname": "127.0.0.1", 53861cb0ef41Sopenharmony_ci "port": "10100", 53871cb0ef41Sopenharmony_ci "pathname": "/relative_import.html", 53881cb0ef41Sopenharmony_ci "search": "", 53891cb0ef41Sopenharmony_ci "hash": "" 53901cb0ef41Sopenharmony_ci }, 53911cb0ef41Sopenharmony_ci { 53921cb0ef41Sopenharmony_ci "input": "http://facebook.com/?foo=%7B%22abc%22", 53931cb0ef41Sopenharmony_ci "base": null, 53941cb0ef41Sopenharmony_ci "href": "http://facebook.com/?foo=%7B%22abc%22", 53951cb0ef41Sopenharmony_ci "origin": "http://facebook.com", 53961cb0ef41Sopenharmony_ci "protocol": "http:", 53971cb0ef41Sopenharmony_ci "username": "", 53981cb0ef41Sopenharmony_ci "password": "", 53991cb0ef41Sopenharmony_ci "host": "facebook.com", 54001cb0ef41Sopenharmony_ci "hostname": "facebook.com", 54011cb0ef41Sopenharmony_ci "port": "", 54021cb0ef41Sopenharmony_ci "pathname": "/", 54031cb0ef41Sopenharmony_ci "search": "?foo=%7B%22abc%22", 54041cb0ef41Sopenharmony_ci "hash": "" 54051cb0ef41Sopenharmony_ci }, 54061cb0ef41Sopenharmony_ci { 54071cb0ef41Sopenharmony_ci "input": "https://localhost:3000/jqueryui@1.2.3", 54081cb0ef41Sopenharmony_ci "base": null, 54091cb0ef41Sopenharmony_ci "href": "https://localhost:3000/jqueryui@1.2.3", 54101cb0ef41Sopenharmony_ci "origin": "https://localhost:3000", 54111cb0ef41Sopenharmony_ci "protocol": "https:", 54121cb0ef41Sopenharmony_ci "username": "", 54131cb0ef41Sopenharmony_ci "password": "", 54141cb0ef41Sopenharmony_ci "host": "localhost:3000", 54151cb0ef41Sopenharmony_ci "hostname": "localhost", 54161cb0ef41Sopenharmony_ci "port": "3000", 54171cb0ef41Sopenharmony_ci "pathname": "/jqueryui@1.2.3", 54181cb0ef41Sopenharmony_ci "search": "", 54191cb0ef41Sopenharmony_ci "hash": "" 54201cb0ef41Sopenharmony_ci }, 54211cb0ef41Sopenharmony_ci "# tab/LF/CR", 54221cb0ef41Sopenharmony_ci { 54231cb0ef41Sopenharmony_ci "input": "h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg", 54241cb0ef41Sopenharmony_ci "base": null, 54251cb0ef41Sopenharmony_ci "href": "http://host:9000/path?query#frag", 54261cb0ef41Sopenharmony_ci "origin": "http://host:9000", 54271cb0ef41Sopenharmony_ci "protocol": "http:", 54281cb0ef41Sopenharmony_ci "username": "", 54291cb0ef41Sopenharmony_ci "password": "", 54301cb0ef41Sopenharmony_ci "host": "host:9000", 54311cb0ef41Sopenharmony_ci "hostname": "host", 54321cb0ef41Sopenharmony_ci "port": "9000", 54331cb0ef41Sopenharmony_ci "pathname": "/path", 54341cb0ef41Sopenharmony_ci "search": "?query", 54351cb0ef41Sopenharmony_ci "hash": "#frag" 54361cb0ef41Sopenharmony_ci }, 54371cb0ef41Sopenharmony_ci "# Stringification of URL.searchParams", 54381cb0ef41Sopenharmony_ci { 54391cb0ef41Sopenharmony_ci "input": "?a=b&c=d", 54401cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 54411cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar?a=b&c=d", 54421cb0ef41Sopenharmony_ci "origin": "http://example.org", 54431cb0ef41Sopenharmony_ci "protocol": "http:", 54441cb0ef41Sopenharmony_ci "username": "", 54451cb0ef41Sopenharmony_ci "password": "", 54461cb0ef41Sopenharmony_ci "host": "example.org", 54471cb0ef41Sopenharmony_ci "hostname": "example.org", 54481cb0ef41Sopenharmony_ci "port": "", 54491cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 54501cb0ef41Sopenharmony_ci "search": "?a=b&c=d", 54511cb0ef41Sopenharmony_ci "searchParams": "a=b&c=d", 54521cb0ef41Sopenharmony_ci "hash": "" 54531cb0ef41Sopenharmony_ci }, 54541cb0ef41Sopenharmony_ci { 54551cb0ef41Sopenharmony_ci "input": "??a=b&c=d", 54561cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 54571cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar??a=b&c=d", 54581cb0ef41Sopenharmony_ci "origin": "http://example.org", 54591cb0ef41Sopenharmony_ci "protocol": "http:", 54601cb0ef41Sopenharmony_ci "username": "", 54611cb0ef41Sopenharmony_ci "password": "", 54621cb0ef41Sopenharmony_ci "host": "example.org", 54631cb0ef41Sopenharmony_ci "hostname": "example.org", 54641cb0ef41Sopenharmony_ci "port": "", 54651cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 54661cb0ef41Sopenharmony_ci "search": "??a=b&c=d", 54671cb0ef41Sopenharmony_ci "searchParams": "%3Fa=b&c=d", 54681cb0ef41Sopenharmony_ci "hash": "" 54691cb0ef41Sopenharmony_ci }, 54701cb0ef41Sopenharmony_ci "# Scheme only", 54711cb0ef41Sopenharmony_ci { 54721cb0ef41Sopenharmony_ci "input": "http:", 54731cb0ef41Sopenharmony_ci "base": "http://example.org/foo/bar", 54741cb0ef41Sopenharmony_ci "href": "http://example.org/foo/bar", 54751cb0ef41Sopenharmony_ci "origin": "http://example.org", 54761cb0ef41Sopenharmony_ci "protocol": "http:", 54771cb0ef41Sopenharmony_ci "username": "", 54781cb0ef41Sopenharmony_ci "password": "", 54791cb0ef41Sopenharmony_ci "host": "example.org", 54801cb0ef41Sopenharmony_ci "hostname": "example.org", 54811cb0ef41Sopenharmony_ci "port": "", 54821cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 54831cb0ef41Sopenharmony_ci "search": "", 54841cb0ef41Sopenharmony_ci "searchParams": "", 54851cb0ef41Sopenharmony_ci "hash": "" 54861cb0ef41Sopenharmony_ci }, 54871cb0ef41Sopenharmony_ci { 54881cb0ef41Sopenharmony_ci "input": "http:", 54891cb0ef41Sopenharmony_ci "base": "https://example.org/foo/bar", 54901cb0ef41Sopenharmony_ci "failure": true 54911cb0ef41Sopenharmony_ci }, 54921cb0ef41Sopenharmony_ci { 54931cb0ef41Sopenharmony_ci "input": "sc:", 54941cb0ef41Sopenharmony_ci "base": "https://example.org/foo/bar", 54951cb0ef41Sopenharmony_ci "href": "sc:", 54961cb0ef41Sopenharmony_ci "origin": "null", 54971cb0ef41Sopenharmony_ci "protocol": "sc:", 54981cb0ef41Sopenharmony_ci "username": "", 54991cb0ef41Sopenharmony_ci "password": "", 55001cb0ef41Sopenharmony_ci "host": "", 55011cb0ef41Sopenharmony_ci "hostname": "", 55021cb0ef41Sopenharmony_ci "port": "", 55031cb0ef41Sopenharmony_ci "pathname": "", 55041cb0ef41Sopenharmony_ci "search": "", 55051cb0ef41Sopenharmony_ci "searchParams": "", 55061cb0ef41Sopenharmony_ci "hash": "" 55071cb0ef41Sopenharmony_ci }, 55081cb0ef41Sopenharmony_ci "# Percent encoding of fragments", 55091cb0ef41Sopenharmony_ci { 55101cb0ef41Sopenharmony_ci "input": "http://foo.bar/baz?qux#foo\bbar", 55111cb0ef41Sopenharmony_ci "base": null, 55121cb0ef41Sopenharmony_ci "href": "http://foo.bar/baz?qux#foo%08bar", 55131cb0ef41Sopenharmony_ci "origin": "http://foo.bar", 55141cb0ef41Sopenharmony_ci "protocol": "http:", 55151cb0ef41Sopenharmony_ci "username": "", 55161cb0ef41Sopenharmony_ci "password": "", 55171cb0ef41Sopenharmony_ci "host": "foo.bar", 55181cb0ef41Sopenharmony_ci "hostname": "foo.bar", 55191cb0ef41Sopenharmony_ci "port": "", 55201cb0ef41Sopenharmony_ci "pathname": "/baz", 55211cb0ef41Sopenharmony_ci "search": "?qux", 55221cb0ef41Sopenharmony_ci "searchParams": "qux=", 55231cb0ef41Sopenharmony_ci "hash": "#foo%08bar" 55241cb0ef41Sopenharmony_ci }, 55251cb0ef41Sopenharmony_ci { 55261cb0ef41Sopenharmony_ci "input": "http://foo.bar/baz?qux#foo\"bar", 55271cb0ef41Sopenharmony_ci "base": null, 55281cb0ef41Sopenharmony_ci "href": "http://foo.bar/baz?qux#foo%22bar", 55291cb0ef41Sopenharmony_ci "origin": "http://foo.bar", 55301cb0ef41Sopenharmony_ci "protocol": "http:", 55311cb0ef41Sopenharmony_ci "username": "", 55321cb0ef41Sopenharmony_ci "password": "", 55331cb0ef41Sopenharmony_ci "host": "foo.bar", 55341cb0ef41Sopenharmony_ci "hostname": "foo.bar", 55351cb0ef41Sopenharmony_ci "port": "", 55361cb0ef41Sopenharmony_ci "pathname": "/baz", 55371cb0ef41Sopenharmony_ci "search": "?qux", 55381cb0ef41Sopenharmony_ci "searchParams": "qux=", 55391cb0ef41Sopenharmony_ci "hash": "#foo%22bar" 55401cb0ef41Sopenharmony_ci }, 55411cb0ef41Sopenharmony_ci { 55421cb0ef41Sopenharmony_ci "input": "http://foo.bar/baz?qux#foo<bar", 55431cb0ef41Sopenharmony_ci "base": null, 55441cb0ef41Sopenharmony_ci "href": "http://foo.bar/baz?qux#foo%3Cbar", 55451cb0ef41Sopenharmony_ci "origin": "http://foo.bar", 55461cb0ef41Sopenharmony_ci "protocol": "http:", 55471cb0ef41Sopenharmony_ci "username": "", 55481cb0ef41Sopenharmony_ci "password": "", 55491cb0ef41Sopenharmony_ci "host": "foo.bar", 55501cb0ef41Sopenharmony_ci "hostname": "foo.bar", 55511cb0ef41Sopenharmony_ci "port": "", 55521cb0ef41Sopenharmony_ci "pathname": "/baz", 55531cb0ef41Sopenharmony_ci "search": "?qux", 55541cb0ef41Sopenharmony_ci "searchParams": "qux=", 55551cb0ef41Sopenharmony_ci "hash": "#foo%3Cbar" 55561cb0ef41Sopenharmony_ci }, 55571cb0ef41Sopenharmony_ci { 55581cb0ef41Sopenharmony_ci "input": "http://foo.bar/baz?qux#foo>bar", 55591cb0ef41Sopenharmony_ci "base": null, 55601cb0ef41Sopenharmony_ci "href": "http://foo.bar/baz?qux#foo%3Ebar", 55611cb0ef41Sopenharmony_ci "origin": "http://foo.bar", 55621cb0ef41Sopenharmony_ci "protocol": "http:", 55631cb0ef41Sopenharmony_ci "username": "", 55641cb0ef41Sopenharmony_ci "password": "", 55651cb0ef41Sopenharmony_ci "host": "foo.bar", 55661cb0ef41Sopenharmony_ci "hostname": "foo.bar", 55671cb0ef41Sopenharmony_ci "port": "", 55681cb0ef41Sopenharmony_ci "pathname": "/baz", 55691cb0ef41Sopenharmony_ci "search": "?qux", 55701cb0ef41Sopenharmony_ci "searchParams": "qux=", 55711cb0ef41Sopenharmony_ci "hash": "#foo%3Ebar" 55721cb0ef41Sopenharmony_ci }, 55731cb0ef41Sopenharmony_ci { 55741cb0ef41Sopenharmony_ci "input": "http://foo.bar/baz?qux#foo`bar", 55751cb0ef41Sopenharmony_ci "base": null, 55761cb0ef41Sopenharmony_ci "href": "http://foo.bar/baz?qux#foo%60bar", 55771cb0ef41Sopenharmony_ci "origin": "http://foo.bar", 55781cb0ef41Sopenharmony_ci "protocol": "http:", 55791cb0ef41Sopenharmony_ci "username": "", 55801cb0ef41Sopenharmony_ci "password": "", 55811cb0ef41Sopenharmony_ci "host": "foo.bar", 55821cb0ef41Sopenharmony_ci "hostname": "foo.bar", 55831cb0ef41Sopenharmony_ci "port": "", 55841cb0ef41Sopenharmony_ci "pathname": "/baz", 55851cb0ef41Sopenharmony_ci "search": "?qux", 55861cb0ef41Sopenharmony_ci "searchParams": "qux=", 55871cb0ef41Sopenharmony_ci "hash": "#foo%60bar" 55881cb0ef41Sopenharmony_ci }, 55891cb0ef41Sopenharmony_ci "# IPv4 parsing (via https://github.com/nodejs/node/pull/10317)", 55901cb0ef41Sopenharmony_ci { 55911cb0ef41Sopenharmony_ci "input": "http://1.2.3.4/", 55921cb0ef41Sopenharmony_ci "base": "http://other.com/", 55931cb0ef41Sopenharmony_ci "href": "http://1.2.3.4/", 55941cb0ef41Sopenharmony_ci "origin": "http://1.2.3.4", 55951cb0ef41Sopenharmony_ci "protocol": "http:", 55961cb0ef41Sopenharmony_ci "username": "", 55971cb0ef41Sopenharmony_ci "password": "", 55981cb0ef41Sopenharmony_ci "host": "1.2.3.4", 55991cb0ef41Sopenharmony_ci "hostname": "1.2.3.4", 56001cb0ef41Sopenharmony_ci "port": "", 56011cb0ef41Sopenharmony_ci "pathname": "/", 56021cb0ef41Sopenharmony_ci "search": "", 56031cb0ef41Sopenharmony_ci "hash": "" 56041cb0ef41Sopenharmony_ci }, 56051cb0ef41Sopenharmony_ci { 56061cb0ef41Sopenharmony_ci "input": "http://1.2.3.4./", 56071cb0ef41Sopenharmony_ci "base": "http://other.com/", 56081cb0ef41Sopenharmony_ci "href": "http://1.2.3.4/", 56091cb0ef41Sopenharmony_ci "origin": "http://1.2.3.4", 56101cb0ef41Sopenharmony_ci "protocol": "http:", 56111cb0ef41Sopenharmony_ci "username": "", 56121cb0ef41Sopenharmony_ci "password": "", 56131cb0ef41Sopenharmony_ci "host": "1.2.3.4", 56141cb0ef41Sopenharmony_ci "hostname": "1.2.3.4", 56151cb0ef41Sopenharmony_ci "port": "", 56161cb0ef41Sopenharmony_ci "pathname": "/", 56171cb0ef41Sopenharmony_ci "search": "", 56181cb0ef41Sopenharmony_ci "hash": "" 56191cb0ef41Sopenharmony_ci }, 56201cb0ef41Sopenharmony_ci { 56211cb0ef41Sopenharmony_ci "input": "http://192.168.257", 56221cb0ef41Sopenharmony_ci "base": "http://other.com/", 56231cb0ef41Sopenharmony_ci "href": "http://192.168.1.1/", 56241cb0ef41Sopenharmony_ci "origin": "http://192.168.1.1", 56251cb0ef41Sopenharmony_ci "protocol": "http:", 56261cb0ef41Sopenharmony_ci "username": "", 56271cb0ef41Sopenharmony_ci "password": "", 56281cb0ef41Sopenharmony_ci "host": "192.168.1.1", 56291cb0ef41Sopenharmony_ci "hostname": "192.168.1.1", 56301cb0ef41Sopenharmony_ci "port": "", 56311cb0ef41Sopenharmony_ci "pathname": "/", 56321cb0ef41Sopenharmony_ci "search": "", 56331cb0ef41Sopenharmony_ci "hash": "" 56341cb0ef41Sopenharmony_ci }, 56351cb0ef41Sopenharmony_ci { 56361cb0ef41Sopenharmony_ci "input": "http://192.168.257.", 56371cb0ef41Sopenharmony_ci "base": "http://other.com/", 56381cb0ef41Sopenharmony_ci "href": "http://192.168.1.1/", 56391cb0ef41Sopenharmony_ci "origin": "http://192.168.1.1", 56401cb0ef41Sopenharmony_ci "protocol": "http:", 56411cb0ef41Sopenharmony_ci "username": "", 56421cb0ef41Sopenharmony_ci "password": "", 56431cb0ef41Sopenharmony_ci "host": "192.168.1.1", 56441cb0ef41Sopenharmony_ci "hostname": "192.168.1.1", 56451cb0ef41Sopenharmony_ci "port": "", 56461cb0ef41Sopenharmony_ci "pathname": "/", 56471cb0ef41Sopenharmony_ci "search": "", 56481cb0ef41Sopenharmony_ci "hash": "" 56491cb0ef41Sopenharmony_ci }, 56501cb0ef41Sopenharmony_ci { 56511cb0ef41Sopenharmony_ci "input": "http://192.168.257.com", 56521cb0ef41Sopenharmony_ci "base": "http://other.com/", 56531cb0ef41Sopenharmony_ci "href": "http://192.168.257.com/", 56541cb0ef41Sopenharmony_ci "origin": "http://192.168.257.com", 56551cb0ef41Sopenharmony_ci "protocol": "http:", 56561cb0ef41Sopenharmony_ci "username": "", 56571cb0ef41Sopenharmony_ci "password": "", 56581cb0ef41Sopenharmony_ci "host": "192.168.257.com", 56591cb0ef41Sopenharmony_ci "hostname": "192.168.257.com", 56601cb0ef41Sopenharmony_ci "port": "", 56611cb0ef41Sopenharmony_ci "pathname": "/", 56621cb0ef41Sopenharmony_ci "search": "", 56631cb0ef41Sopenharmony_ci "hash": "" 56641cb0ef41Sopenharmony_ci }, 56651cb0ef41Sopenharmony_ci { 56661cb0ef41Sopenharmony_ci "input": "http://256", 56671cb0ef41Sopenharmony_ci "base": "http://other.com/", 56681cb0ef41Sopenharmony_ci "href": "http://0.0.1.0/", 56691cb0ef41Sopenharmony_ci "origin": "http://0.0.1.0", 56701cb0ef41Sopenharmony_ci "protocol": "http:", 56711cb0ef41Sopenharmony_ci "username": "", 56721cb0ef41Sopenharmony_ci "password": "", 56731cb0ef41Sopenharmony_ci "host": "0.0.1.0", 56741cb0ef41Sopenharmony_ci "hostname": "0.0.1.0", 56751cb0ef41Sopenharmony_ci "port": "", 56761cb0ef41Sopenharmony_ci "pathname": "/", 56771cb0ef41Sopenharmony_ci "search": "", 56781cb0ef41Sopenharmony_ci "hash": "" 56791cb0ef41Sopenharmony_ci }, 56801cb0ef41Sopenharmony_ci { 56811cb0ef41Sopenharmony_ci "input": "http://256.com", 56821cb0ef41Sopenharmony_ci "base": "http://other.com/", 56831cb0ef41Sopenharmony_ci "href": "http://256.com/", 56841cb0ef41Sopenharmony_ci "origin": "http://256.com", 56851cb0ef41Sopenharmony_ci "protocol": "http:", 56861cb0ef41Sopenharmony_ci "username": "", 56871cb0ef41Sopenharmony_ci "password": "", 56881cb0ef41Sopenharmony_ci "host": "256.com", 56891cb0ef41Sopenharmony_ci "hostname": "256.com", 56901cb0ef41Sopenharmony_ci "port": "", 56911cb0ef41Sopenharmony_ci "pathname": "/", 56921cb0ef41Sopenharmony_ci "search": "", 56931cb0ef41Sopenharmony_ci "hash": "" 56941cb0ef41Sopenharmony_ci }, 56951cb0ef41Sopenharmony_ci { 56961cb0ef41Sopenharmony_ci "input": "http://999999999", 56971cb0ef41Sopenharmony_ci "base": "http://other.com/", 56981cb0ef41Sopenharmony_ci "href": "http://59.154.201.255/", 56991cb0ef41Sopenharmony_ci "origin": "http://59.154.201.255", 57001cb0ef41Sopenharmony_ci "protocol": "http:", 57011cb0ef41Sopenharmony_ci "username": "", 57021cb0ef41Sopenharmony_ci "password": "", 57031cb0ef41Sopenharmony_ci "host": "59.154.201.255", 57041cb0ef41Sopenharmony_ci "hostname": "59.154.201.255", 57051cb0ef41Sopenharmony_ci "port": "", 57061cb0ef41Sopenharmony_ci "pathname": "/", 57071cb0ef41Sopenharmony_ci "search": "", 57081cb0ef41Sopenharmony_ci "hash": "" 57091cb0ef41Sopenharmony_ci }, 57101cb0ef41Sopenharmony_ci { 57111cb0ef41Sopenharmony_ci "input": "http://999999999.", 57121cb0ef41Sopenharmony_ci "base": "http://other.com/", 57131cb0ef41Sopenharmony_ci "href": "http://59.154.201.255/", 57141cb0ef41Sopenharmony_ci "origin": "http://59.154.201.255", 57151cb0ef41Sopenharmony_ci "protocol": "http:", 57161cb0ef41Sopenharmony_ci "username": "", 57171cb0ef41Sopenharmony_ci "password": "", 57181cb0ef41Sopenharmony_ci "host": "59.154.201.255", 57191cb0ef41Sopenharmony_ci "hostname": "59.154.201.255", 57201cb0ef41Sopenharmony_ci "port": "", 57211cb0ef41Sopenharmony_ci "pathname": "/", 57221cb0ef41Sopenharmony_ci "search": "", 57231cb0ef41Sopenharmony_ci "hash": "" 57241cb0ef41Sopenharmony_ci }, 57251cb0ef41Sopenharmony_ci { 57261cb0ef41Sopenharmony_ci "input": "http://999999999.com", 57271cb0ef41Sopenharmony_ci "base": "http://other.com/", 57281cb0ef41Sopenharmony_ci "href": "http://999999999.com/", 57291cb0ef41Sopenharmony_ci "origin": "http://999999999.com", 57301cb0ef41Sopenharmony_ci "protocol": "http:", 57311cb0ef41Sopenharmony_ci "username": "", 57321cb0ef41Sopenharmony_ci "password": "", 57331cb0ef41Sopenharmony_ci "host": "999999999.com", 57341cb0ef41Sopenharmony_ci "hostname": "999999999.com", 57351cb0ef41Sopenharmony_ci "port": "", 57361cb0ef41Sopenharmony_ci "pathname": "/", 57371cb0ef41Sopenharmony_ci "search": "", 57381cb0ef41Sopenharmony_ci "hash": "" 57391cb0ef41Sopenharmony_ci }, 57401cb0ef41Sopenharmony_ci { 57411cb0ef41Sopenharmony_ci "input": "http://10000000000", 57421cb0ef41Sopenharmony_ci "base": "http://other.com/", 57431cb0ef41Sopenharmony_ci "failure": true 57441cb0ef41Sopenharmony_ci }, 57451cb0ef41Sopenharmony_ci { 57461cb0ef41Sopenharmony_ci "input": "http://10000000000.com", 57471cb0ef41Sopenharmony_ci "base": "http://other.com/", 57481cb0ef41Sopenharmony_ci "href": "http://10000000000.com/", 57491cb0ef41Sopenharmony_ci "origin": "http://10000000000.com", 57501cb0ef41Sopenharmony_ci "protocol": "http:", 57511cb0ef41Sopenharmony_ci "username": "", 57521cb0ef41Sopenharmony_ci "password": "", 57531cb0ef41Sopenharmony_ci "host": "10000000000.com", 57541cb0ef41Sopenharmony_ci "hostname": "10000000000.com", 57551cb0ef41Sopenharmony_ci "port": "", 57561cb0ef41Sopenharmony_ci "pathname": "/", 57571cb0ef41Sopenharmony_ci "search": "", 57581cb0ef41Sopenharmony_ci "hash": "" 57591cb0ef41Sopenharmony_ci }, 57601cb0ef41Sopenharmony_ci { 57611cb0ef41Sopenharmony_ci "input": "http://4294967295", 57621cb0ef41Sopenharmony_ci "base": "http://other.com/", 57631cb0ef41Sopenharmony_ci "href": "http://255.255.255.255/", 57641cb0ef41Sopenharmony_ci "origin": "http://255.255.255.255", 57651cb0ef41Sopenharmony_ci "protocol": "http:", 57661cb0ef41Sopenharmony_ci "username": "", 57671cb0ef41Sopenharmony_ci "password": "", 57681cb0ef41Sopenharmony_ci "host": "255.255.255.255", 57691cb0ef41Sopenharmony_ci "hostname": "255.255.255.255", 57701cb0ef41Sopenharmony_ci "port": "", 57711cb0ef41Sopenharmony_ci "pathname": "/", 57721cb0ef41Sopenharmony_ci "search": "", 57731cb0ef41Sopenharmony_ci "hash": "" 57741cb0ef41Sopenharmony_ci }, 57751cb0ef41Sopenharmony_ci { 57761cb0ef41Sopenharmony_ci "input": "http://4294967296", 57771cb0ef41Sopenharmony_ci "base": "http://other.com/", 57781cb0ef41Sopenharmony_ci "failure": true 57791cb0ef41Sopenharmony_ci }, 57801cb0ef41Sopenharmony_ci { 57811cb0ef41Sopenharmony_ci "input": "http://0xffffffff", 57821cb0ef41Sopenharmony_ci "base": "http://other.com/", 57831cb0ef41Sopenharmony_ci "href": "http://255.255.255.255/", 57841cb0ef41Sopenharmony_ci "origin": "http://255.255.255.255", 57851cb0ef41Sopenharmony_ci "protocol": "http:", 57861cb0ef41Sopenharmony_ci "username": "", 57871cb0ef41Sopenharmony_ci "password": "", 57881cb0ef41Sopenharmony_ci "host": "255.255.255.255", 57891cb0ef41Sopenharmony_ci "hostname": "255.255.255.255", 57901cb0ef41Sopenharmony_ci "port": "", 57911cb0ef41Sopenharmony_ci "pathname": "/", 57921cb0ef41Sopenharmony_ci "search": "", 57931cb0ef41Sopenharmony_ci "hash": "" 57941cb0ef41Sopenharmony_ci }, 57951cb0ef41Sopenharmony_ci { 57961cb0ef41Sopenharmony_ci "input": "http://0xffffffff1", 57971cb0ef41Sopenharmony_ci "base": "http://other.com/", 57981cb0ef41Sopenharmony_ci "failure": true 57991cb0ef41Sopenharmony_ci }, 58001cb0ef41Sopenharmony_ci { 58011cb0ef41Sopenharmony_ci "input": "http://256.256.256.256", 58021cb0ef41Sopenharmony_ci "base": "http://other.com/", 58031cb0ef41Sopenharmony_ci "failure": true 58041cb0ef41Sopenharmony_ci }, 58051cb0ef41Sopenharmony_ci { 58061cb0ef41Sopenharmony_ci "input": "https://0x.0x.0", 58071cb0ef41Sopenharmony_ci "base": null, 58081cb0ef41Sopenharmony_ci "href": "https://0.0.0.0/", 58091cb0ef41Sopenharmony_ci "origin": "https://0.0.0.0", 58101cb0ef41Sopenharmony_ci "protocol": "https:", 58111cb0ef41Sopenharmony_ci "username": "", 58121cb0ef41Sopenharmony_ci "password": "", 58131cb0ef41Sopenharmony_ci "host": "0.0.0.0", 58141cb0ef41Sopenharmony_ci "hostname": "0.0.0.0", 58151cb0ef41Sopenharmony_ci "port": "", 58161cb0ef41Sopenharmony_ci "pathname": "/", 58171cb0ef41Sopenharmony_ci "search": "", 58181cb0ef41Sopenharmony_ci "hash": "" 58191cb0ef41Sopenharmony_ci }, 58201cb0ef41Sopenharmony_ci "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)", 58211cb0ef41Sopenharmony_ci { 58221cb0ef41Sopenharmony_ci "input": "https://0x100000000/test", 58231cb0ef41Sopenharmony_ci "base": null, 58241cb0ef41Sopenharmony_ci "failure": true 58251cb0ef41Sopenharmony_ci }, 58261cb0ef41Sopenharmony_ci { 58271cb0ef41Sopenharmony_ci "input": "https://256.0.0.1/test", 58281cb0ef41Sopenharmony_ci "base": null, 58291cb0ef41Sopenharmony_ci "failure": true 58301cb0ef41Sopenharmony_ci }, 58311cb0ef41Sopenharmony_ci "# file URLs containing percent-encoded Windows drive letters (shouldn't work)", 58321cb0ef41Sopenharmony_ci { 58331cb0ef41Sopenharmony_ci "input": "file:///C%3A/", 58341cb0ef41Sopenharmony_ci "base": null, 58351cb0ef41Sopenharmony_ci "href": "file:///C%3A/", 58361cb0ef41Sopenharmony_ci "protocol": "file:", 58371cb0ef41Sopenharmony_ci "username": "", 58381cb0ef41Sopenharmony_ci "password": "", 58391cb0ef41Sopenharmony_ci "host": "", 58401cb0ef41Sopenharmony_ci "hostname": "", 58411cb0ef41Sopenharmony_ci "port": "", 58421cb0ef41Sopenharmony_ci "pathname": "/C%3A/", 58431cb0ef41Sopenharmony_ci "search": "", 58441cb0ef41Sopenharmony_ci "hash": "" 58451cb0ef41Sopenharmony_ci }, 58461cb0ef41Sopenharmony_ci { 58471cb0ef41Sopenharmony_ci "input": "file:///C%7C/", 58481cb0ef41Sopenharmony_ci "base": null, 58491cb0ef41Sopenharmony_ci "href": "file:///C%7C/", 58501cb0ef41Sopenharmony_ci "protocol": "file:", 58511cb0ef41Sopenharmony_ci "username": "", 58521cb0ef41Sopenharmony_ci "password": "", 58531cb0ef41Sopenharmony_ci "host": "", 58541cb0ef41Sopenharmony_ci "hostname": "", 58551cb0ef41Sopenharmony_ci "port": "", 58561cb0ef41Sopenharmony_ci "pathname": "/C%7C/", 58571cb0ef41Sopenharmony_ci "search": "", 58581cb0ef41Sopenharmony_ci "hash": "" 58591cb0ef41Sopenharmony_ci }, 58601cb0ef41Sopenharmony_ci { 58611cb0ef41Sopenharmony_ci "input": "file://%43%3A", 58621cb0ef41Sopenharmony_ci "base": null, 58631cb0ef41Sopenharmony_ci "failure": true 58641cb0ef41Sopenharmony_ci }, 58651cb0ef41Sopenharmony_ci { 58661cb0ef41Sopenharmony_ci "input": "file://%43%7C", 58671cb0ef41Sopenharmony_ci "base": null, 58681cb0ef41Sopenharmony_ci "failure": true 58691cb0ef41Sopenharmony_ci }, 58701cb0ef41Sopenharmony_ci { 58711cb0ef41Sopenharmony_ci "input": "file://%43|", 58721cb0ef41Sopenharmony_ci "base": null, 58731cb0ef41Sopenharmony_ci "failure": true 58741cb0ef41Sopenharmony_ci }, 58751cb0ef41Sopenharmony_ci { 58761cb0ef41Sopenharmony_ci "input": "file://C%7C", 58771cb0ef41Sopenharmony_ci "base": null, 58781cb0ef41Sopenharmony_ci "failure": true 58791cb0ef41Sopenharmony_ci }, 58801cb0ef41Sopenharmony_ci { 58811cb0ef41Sopenharmony_ci "input": "file://%43%7C/", 58821cb0ef41Sopenharmony_ci "base": null, 58831cb0ef41Sopenharmony_ci "failure": true 58841cb0ef41Sopenharmony_ci }, 58851cb0ef41Sopenharmony_ci { 58861cb0ef41Sopenharmony_ci "input": "https://%43%7C/", 58871cb0ef41Sopenharmony_ci "base": null, 58881cb0ef41Sopenharmony_ci "failure": true 58891cb0ef41Sopenharmony_ci }, 58901cb0ef41Sopenharmony_ci { 58911cb0ef41Sopenharmony_ci "input": "asdf://%43|/", 58921cb0ef41Sopenharmony_ci "base": null, 58931cb0ef41Sopenharmony_ci "failure": true 58941cb0ef41Sopenharmony_ci }, 58951cb0ef41Sopenharmony_ci { 58961cb0ef41Sopenharmony_ci "input": "asdf://%43%7C/", 58971cb0ef41Sopenharmony_ci "base": null, 58981cb0ef41Sopenharmony_ci "href": "asdf://%43%7C/", 58991cb0ef41Sopenharmony_ci "origin": "null", 59001cb0ef41Sopenharmony_ci "protocol": "asdf:", 59011cb0ef41Sopenharmony_ci "username": "", 59021cb0ef41Sopenharmony_ci "password": "", 59031cb0ef41Sopenharmony_ci "host": "%43%7C", 59041cb0ef41Sopenharmony_ci "hostname": "%43%7C", 59051cb0ef41Sopenharmony_ci "port": "", 59061cb0ef41Sopenharmony_ci "pathname": "/", 59071cb0ef41Sopenharmony_ci "search": "", 59081cb0ef41Sopenharmony_ci "hash": "" 59091cb0ef41Sopenharmony_ci }, 59101cb0ef41Sopenharmony_ci "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)", 59111cb0ef41Sopenharmony_ci { 59121cb0ef41Sopenharmony_ci "input": "pix/submit.gif", 59131cb0ef41Sopenharmony_ci "base": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html", 59141cb0ef41Sopenharmony_ci "href": "file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif", 59151cb0ef41Sopenharmony_ci "protocol": "file:", 59161cb0ef41Sopenharmony_ci "username": "", 59171cb0ef41Sopenharmony_ci "password": "", 59181cb0ef41Sopenharmony_ci "host": "", 59191cb0ef41Sopenharmony_ci "hostname": "", 59201cb0ef41Sopenharmony_ci "port": "", 59211cb0ef41Sopenharmony_ci "pathname": "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif", 59221cb0ef41Sopenharmony_ci "search": "", 59231cb0ef41Sopenharmony_ci "hash": "" 59241cb0ef41Sopenharmony_ci }, 59251cb0ef41Sopenharmony_ci { 59261cb0ef41Sopenharmony_ci "input": "..", 59271cb0ef41Sopenharmony_ci "base": "file:///C:/", 59281cb0ef41Sopenharmony_ci "href": "file:///C:/", 59291cb0ef41Sopenharmony_ci "protocol": "file:", 59301cb0ef41Sopenharmony_ci "username": "", 59311cb0ef41Sopenharmony_ci "password": "", 59321cb0ef41Sopenharmony_ci "host": "", 59331cb0ef41Sopenharmony_ci "hostname": "", 59341cb0ef41Sopenharmony_ci "port": "", 59351cb0ef41Sopenharmony_ci "pathname": "/C:/", 59361cb0ef41Sopenharmony_ci "search": "", 59371cb0ef41Sopenharmony_ci "hash": "" 59381cb0ef41Sopenharmony_ci }, 59391cb0ef41Sopenharmony_ci { 59401cb0ef41Sopenharmony_ci "input": "..", 59411cb0ef41Sopenharmony_ci "base": "file:///", 59421cb0ef41Sopenharmony_ci "href": "file:///", 59431cb0ef41Sopenharmony_ci "protocol": "file:", 59441cb0ef41Sopenharmony_ci "username": "", 59451cb0ef41Sopenharmony_ci "password": "", 59461cb0ef41Sopenharmony_ci "host": "", 59471cb0ef41Sopenharmony_ci "hostname": "", 59481cb0ef41Sopenharmony_ci "port": "", 59491cb0ef41Sopenharmony_ci "pathname": "/", 59501cb0ef41Sopenharmony_ci "search": "", 59511cb0ef41Sopenharmony_ci "hash": "" 59521cb0ef41Sopenharmony_ci }, 59531cb0ef41Sopenharmony_ci "# More file URL tests by zcorpan and annevk", 59541cb0ef41Sopenharmony_ci { 59551cb0ef41Sopenharmony_ci "input": "/", 59561cb0ef41Sopenharmony_ci "base": "file:///C:/a/b", 59571cb0ef41Sopenharmony_ci "href": "file:///C:/", 59581cb0ef41Sopenharmony_ci "protocol": "file:", 59591cb0ef41Sopenharmony_ci "username": "", 59601cb0ef41Sopenharmony_ci "password": "", 59611cb0ef41Sopenharmony_ci "host": "", 59621cb0ef41Sopenharmony_ci "hostname": "", 59631cb0ef41Sopenharmony_ci "port": "", 59641cb0ef41Sopenharmony_ci "pathname": "/C:/", 59651cb0ef41Sopenharmony_ci "search": "", 59661cb0ef41Sopenharmony_ci "hash": "" 59671cb0ef41Sopenharmony_ci }, 59681cb0ef41Sopenharmony_ci { 59691cb0ef41Sopenharmony_ci "input": "/", 59701cb0ef41Sopenharmony_ci "base": "file://h/C:/a/b", 59711cb0ef41Sopenharmony_ci "href": "file://h/C:/", 59721cb0ef41Sopenharmony_ci "protocol": "file:", 59731cb0ef41Sopenharmony_ci "username": "", 59741cb0ef41Sopenharmony_ci "password": "", 59751cb0ef41Sopenharmony_ci "host": "h", 59761cb0ef41Sopenharmony_ci "hostname": "h", 59771cb0ef41Sopenharmony_ci "port": "", 59781cb0ef41Sopenharmony_ci "pathname": "/C:/", 59791cb0ef41Sopenharmony_ci "search": "", 59801cb0ef41Sopenharmony_ci "hash": "" 59811cb0ef41Sopenharmony_ci }, 59821cb0ef41Sopenharmony_ci { 59831cb0ef41Sopenharmony_ci "input": "/", 59841cb0ef41Sopenharmony_ci "base": "file://h/a/b", 59851cb0ef41Sopenharmony_ci "href": "file://h/", 59861cb0ef41Sopenharmony_ci "protocol": "file:", 59871cb0ef41Sopenharmony_ci "username": "", 59881cb0ef41Sopenharmony_ci "password": "", 59891cb0ef41Sopenharmony_ci "host": "h", 59901cb0ef41Sopenharmony_ci "hostname": "h", 59911cb0ef41Sopenharmony_ci "port": "", 59921cb0ef41Sopenharmony_ci "pathname": "/", 59931cb0ef41Sopenharmony_ci "search": "", 59941cb0ef41Sopenharmony_ci "hash": "" 59951cb0ef41Sopenharmony_ci }, 59961cb0ef41Sopenharmony_ci { 59971cb0ef41Sopenharmony_ci "input": "//d:", 59981cb0ef41Sopenharmony_ci "base": "file:///C:/a/b", 59991cb0ef41Sopenharmony_ci "href": "file:///d:", 60001cb0ef41Sopenharmony_ci "protocol": "file:", 60011cb0ef41Sopenharmony_ci "username": "", 60021cb0ef41Sopenharmony_ci "password": "", 60031cb0ef41Sopenharmony_ci "host": "", 60041cb0ef41Sopenharmony_ci "hostname": "", 60051cb0ef41Sopenharmony_ci "port": "", 60061cb0ef41Sopenharmony_ci "pathname": "/d:", 60071cb0ef41Sopenharmony_ci "search": "", 60081cb0ef41Sopenharmony_ci "hash": "" 60091cb0ef41Sopenharmony_ci }, 60101cb0ef41Sopenharmony_ci { 60111cb0ef41Sopenharmony_ci "input": "//d:/..", 60121cb0ef41Sopenharmony_ci "base": "file:///C:/a/b", 60131cb0ef41Sopenharmony_ci "href": "file:///d:/", 60141cb0ef41Sopenharmony_ci "protocol": "file:", 60151cb0ef41Sopenharmony_ci "username": "", 60161cb0ef41Sopenharmony_ci "password": "", 60171cb0ef41Sopenharmony_ci "host": "", 60181cb0ef41Sopenharmony_ci "hostname": "", 60191cb0ef41Sopenharmony_ci "port": "", 60201cb0ef41Sopenharmony_ci "pathname": "/d:/", 60211cb0ef41Sopenharmony_ci "search": "", 60221cb0ef41Sopenharmony_ci "hash": "" 60231cb0ef41Sopenharmony_ci }, 60241cb0ef41Sopenharmony_ci { 60251cb0ef41Sopenharmony_ci "input": "..", 60261cb0ef41Sopenharmony_ci "base": "file:///ab:/", 60271cb0ef41Sopenharmony_ci "href": "file:///", 60281cb0ef41Sopenharmony_ci "protocol": "file:", 60291cb0ef41Sopenharmony_ci "username": "", 60301cb0ef41Sopenharmony_ci "password": "", 60311cb0ef41Sopenharmony_ci "host": "", 60321cb0ef41Sopenharmony_ci "hostname": "", 60331cb0ef41Sopenharmony_ci "port": "", 60341cb0ef41Sopenharmony_ci "pathname": "/", 60351cb0ef41Sopenharmony_ci "search": "", 60361cb0ef41Sopenharmony_ci "hash": "" 60371cb0ef41Sopenharmony_ci }, 60381cb0ef41Sopenharmony_ci { 60391cb0ef41Sopenharmony_ci "input": "..", 60401cb0ef41Sopenharmony_ci "base": "file:///1:/", 60411cb0ef41Sopenharmony_ci "href": "file:///", 60421cb0ef41Sopenharmony_ci "protocol": "file:", 60431cb0ef41Sopenharmony_ci "username": "", 60441cb0ef41Sopenharmony_ci "password": "", 60451cb0ef41Sopenharmony_ci "host": "", 60461cb0ef41Sopenharmony_ci "hostname": "", 60471cb0ef41Sopenharmony_ci "port": "", 60481cb0ef41Sopenharmony_ci "pathname": "/", 60491cb0ef41Sopenharmony_ci "search": "", 60501cb0ef41Sopenharmony_ci "hash": "" 60511cb0ef41Sopenharmony_ci }, 60521cb0ef41Sopenharmony_ci { 60531cb0ef41Sopenharmony_ci "input": "", 60541cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 60551cb0ef41Sopenharmony_ci "href": "file:///test?test", 60561cb0ef41Sopenharmony_ci "protocol": "file:", 60571cb0ef41Sopenharmony_ci "username": "", 60581cb0ef41Sopenharmony_ci "password": "", 60591cb0ef41Sopenharmony_ci "host": "", 60601cb0ef41Sopenharmony_ci "hostname": "", 60611cb0ef41Sopenharmony_ci "port": "", 60621cb0ef41Sopenharmony_ci "pathname": "/test", 60631cb0ef41Sopenharmony_ci "search": "?test", 60641cb0ef41Sopenharmony_ci "hash": "" 60651cb0ef41Sopenharmony_ci }, 60661cb0ef41Sopenharmony_ci { 60671cb0ef41Sopenharmony_ci "input": "file:", 60681cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 60691cb0ef41Sopenharmony_ci "href": "file:///test?test", 60701cb0ef41Sopenharmony_ci "protocol": "file:", 60711cb0ef41Sopenharmony_ci "username": "", 60721cb0ef41Sopenharmony_ci "password": "", 60731cb0ef41Sopenharmony_ci "host": "", 60741cb0ef41Sopenharmony_ci "hostname": "", 60751cb0ef41Sopenharmony_ci "port": "", 60761cb0ef41Sopenharmony_ci "pathname": "/test", 60771cb0ef41Sopenharmony_ci "search": "?test", 60781cb0ef41Sopenharmony_ci "hash": "" 60791cb0ef41Sopenharmony_ci }, 60801cb0ef41Sopenharmony_ci { 60811cb0ef41Sopenharmony_ci "input": "?x", 60821cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 60831cb0ef41Sopenharmony_ci "href": "file:///test?x", 60841cb0ef41Sopenharmony_ci "protocol": "file:", 60851cb0ef41Sopenharmony_ci "username": "", 60861cb0ef41Sopenharmony_ci "password": "", 60871cb0ef41Sopenharmony_ci "host": "", 60881cb0ef41Sopenharmony_ci "hostname": "", 60891cb0ef41Sopenharmony_ci "port": "", 60901cb0ef41Sopenharmony_ci "pathname": "/test", 60911cb0ef41Sopenharmony_ci "search": "?x", 60921cb0ef41Sopenharmony_ci "hash": "" 60931cb0ef41Sopenharmony_ci }, 60941cb0ef41Sopenharmony_ci { 60951cb0ef41Sopenharmony_ci "input": "file:?x", 60961cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 60971cb0ef41Sopenharmony_ci "href": "file:///test?x", 60981cb0ef41Sopenharmony_ci "protocol": "file:", 60991cb0ef41Sopenharmony_ci "username": "", 61001cb0ef41Sopenharmony_ci "password": "", 61011cb0ef41Sopenharmony_ci "host": "", 61021cb0ef41Sopenharmony_ci "hostname": "", 61031cb0ef41Sopenharmony_ci "port": "", 61041cb0ef41Sopenharmony_ci "pathname": "/test", 61051cb0ef41Sopenharmony_ci "search": "?x", 61061cb0ef41Sopenharmony_ci "hash": "" 61071cb0ef41Sopenharmony_ci }, 61081cb0ef41Sopenharmony_ci { 61091cb0ef41Sopenharmony_ci "input": "#x", 61101cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 61111cb0ef41Sopenharmony_ci "href": "file:///test?test#x", 61121cb0ef41Sopenharmony_ci "protocol": "file:", 61131cb0ef41Sopenharmony_ci "username": "", 61141cb0ef41Sopenharmony_ci "password": "", 61151cb0ef41Sopenharmony_ci "host": "", 61161cb0ef41Sopenharmony_ci "hostname": "", 61171cb0ef41Sopenharmony_ci "port": "", 61181cb0ef41Sopenharmony_ci "pathname": "/test", 61191cb0ef41Sopenharmony_ci "search": "?test", 61201cb0ef41Sopenharmony_ci "hash": "#x" 61211cb0ef41Sopenharmony_ci }, 61221cb0ef41Sopenharmony_ci { 61231cb0ef41Sopenharmony_ci "input": "file:#x", 61241cb0ef41Sopenharmony_ci "base": "file:///test?test#test", 61251cb0ef41Sopenharmony_ci "href": "file:///test?test#x", 61261cb0ef41Sopenharmony_ci "protocol": "file:", 61271cb0ef41Sopenharmony_ci "username": "", 61281cb0ef41Sopenharmony_ci "password": "", 61291cb0ef41Sopenharmony_ci "host": "", 61301cb0ef41Sopenharmony_ci "hostname": "", 61311cb0ef41Sopenharmony_ci "port": "", 61321cb0ef41Sopenharmony_ci "pathname": "/test", 61331cb0ef41Sopenharmony_ci "search": "?test", 61341cb0ef41Sopenharmony_ci "hash": "#x" 61351cb0ef41Sopenharmony_ci }, 61361cb0ef41Sopenharmony_ci "# File URLs and many (back)slashes", 61371cb0ef41Sopenharmony_ci { 61381cb0ef41Sopenharmony_ci "input": "file:\\\\//", 61391cb0ef41Sopenharmony_ci "base": null, 61401cb0ef41Sopenharmony_ci "href": "file:////", 61411cb0ef41Sopenharmony_ci "protocol": "file:", 61421cb0ef41Sopenharmony_ci "username": "", 61431cb0ef41Sopenharmony_ci "password": "", 61441cb0ef41Sopenharmony_ci "host": "", 61451cb0ef41Sopenharmony_ci "hostname": "", 61461cb0ef41Sopenharmony_ci "port": "", 61471cb0ef41Sopenharmony_ci "pathname": "//", 61481cb0ef41Sopenharmony_ci "search": "", 61491cb0ef41Sopenharmony_ci "hash": "" 61501cb0ef41Sopenharmony_ci }, 61511cb0ef41Sopenharmony_ci { 61521cb0ef41Sopenharmony_ci "input": "file:\\\\\\\\", 61531cb0ef41Sopenharmony_ci "base": null, 61541cb0ef41Sopenharmony_ci "href": "file:////", 61551cb0ef41Sopenharmony_ci "protocol": "file:", 61561cb0ef41Sopenharmony_ci "username": "", 61571cb0ef41Sopenharmony_ci "password": "", 61581cb0ef41Sopenharmony_ci "host": "", 61591cb0ef41Sopenharmony_ci "hostname": "", 61601cb0ef41Sopenharmony_ci "port": "", 61611cb0ef41Sopenharmony_ci "pathname": "//", 61621cb0ef41Sopenharmony_ci "search": "", 61631cb0ef41Sopenharmony_ci "hash": "" 61641cb0ef41Sopenharmony_ci }, 61651cb0ef41Sopenharmony_ci { 61661cb0ef41Sopenharmony_ci "input": "file:\\\\\\\\?fox", 61671cb0ef41Sopenharmony_ci "base": null, 61681cb0ef41Sopenharmony_ci "href": "file:////?fox", 61691cb0ef41Sopenharmony_ci "protocol": "file:", 61701cb0ef41Sopenharmony_ci "username": "", 61711cb0ef41Sopenharmony_ci "password": "", 61721cb0ef41Sopenharmony_ci "host": "", 61731cb0ef41Sopenharmony_ci "hostname": "", 61741cb0ef41Sopenharmony_ci "port": "", 61751cb0ef41Sopenharmony_ci "pathname": "//", 61761cb0ef41Sopenharmony_ci "search": "?fox", 61771cb0ef41Sopenharmony_ci "hash": "" 61781cb0ef41Sopenharmony_ci }, 61791cb0ef41Sopenharmony_ci { 61801cb0ef41Sopenharmony_ci "input": "file:\\\\\\\\#guppy", 61811cb0ef41Sopenharmony_ci "base": null, 61821cb0ef41Sopenharmony_ci "href": "file:////#guppy", 61831cb0ef41Sopenharmony_ci "protocol": "file:", 61841cb0ef41Sopenharmony_ci "username": "", 61851cb0ef41Sopenharmony_ci "password": "", 61861cb0ef41Sopenharmony_ci "host": "", 61871cb0ef41Sopenharmony_ci "hostname": "", 61881cb0ef41Sopenharmony_ci "port": "", 61891cb0ef41Sopenharmony_ci "pathname": "//", 61901cb0ef41Sopenharmony_ci "search": "", 61911cb0ef41Sopenharmony_ci "hash": "#guppy" 61921cb0ef41Sopenharmony_ci }, 61931cb0ef41Sopenharmony_ci { 61941cb0ef41Sopenharmony_ci "input": "file://spider///", 61951cb0ef41Sopenharmony_ci "base": null, 61961cb0ef41Sopenharmony_ci "href": "file://spider///", 61971cb0ef41Sopenharmony_ci "protocol": "file:", 61981cb0ef41Sopenharmony_ci "username": "", 61991cb0ef41Sopenharmony_ci "password": "", 62001cb0ef41Sopenharmony_ci "host": "spider", 62011cb0ef41Sopenharmony_ci "hostname": "spider", 62021cb0ef41Sopenharmony_ci "port": "", 62031cb0ef41Sopenharmony_ci "pathname": "///", 62041cb0ef41Sopenharmony_ci "search": "", 62051cb0ef41Sopenharmony_ci "hash": "" 62061cb0ef41Sopenharmony_ci }, 62071cb0ef41Sopenharmony_ci { 62081cb0ef41Sopenharmony_ci "input": "file:\\\\localhost//", 62091cb0ef41Sopenharmony_ci "base": null, 62101cb0ef41Sopenharmony_ci "href": "file:////", 62111cb0ef41Sopenharmony_ci "protocol": "file:", 62121cb0ef41Sopenharmony_ci "username": "", 62131cb0ef41Sopenharmony_ci "password": "", 62141cb0ef41Sopenharmony_ci "host": "", 62151cb0ef41Sopenharmony_ci "hostname": "", 62161cb0ef41Sopenharmony_ci "port": "", 62171cb0ef41Sopenharmony_ci "pathname": "//", 62181cb0ef41Sopenharmony_ci "search": "", 62191cb0ef41Sopenharmony_ci "hash": "" 62201cb0ef41Sopenharmony_ci }, 62211cb0ef41Sopenharmony_ci { 62221cb0ef41Sopenharmony_ci "input": "file:///localhost//cat", 62231cb0ef41Sopenharmony_ci "base": null, 62241cb0ef41Sopenharmony_ci "href": "file:///localhost//cat", 62251cb0ef41Sopenharmony_ci "protocol": "file:", 62261cb0ef41Sopenharmony_ci "username": "", 62271cb0ef41Sopenharmony_ci "password": "", 62281cb0ef41Sopenharmony_ci "host": "", 62291cb0ef41Sopenharmony_ci "hostname": "", 62301cb0ef41Sopenharmony_ci "port": "", 62311cb0ef41Sopenharmony_ci "pathname": "/localhost//cat", 62321cb0ef41Sopenharmony_ci "search": "", 62331cb0ef41Sopenharmony_ci "hash": "" 62341cb0ef41Sopenharmony_ci }, 62351cb0ef41Sopenharmony_ci { 62361cb0ef41Sopenharmony_ci "input": "file://\\/localhost//cat", 62371cb0ef41Sopenharmony_ci "base": null, 62381cb0ef41Sopenharmony_ci "href": "file:////localhost//cat", 62391cb0ef41Sopenharmony_ci "protocol": "file:", 62401cb0ef41Sopenharmony_ci "username": "", 62411cb0ef41Sopenharmony_ci "password": "", 62421cb0ef41Sopenharmony_ci "host": "", 62431cb0ef41Sopenharmony_ci "hostname": "", 62441cb0ef41Sopenharmony_ci "port": "", 62451cb0ef41Sopenharmony_ci "pathname": "//localhost//cat", 62461cb0ef41Sopenharmony_ci "search": "", 62471cb0ef41Sopenharmony_ci "hash": "" 62481cb0ef41Sopenharmony_ci }, 62491cb0ef41Sopenharmony_ci { 62501cb0ef41Sopenharmony_ci "input": "file://localhost//a//../..//", 62511cb0ef41Sopenharmony_ci "base": null, 62521cb0ef41Sopenharmony_ci "href": "file://///", 62531cb0ef41Sopenharmony_ci "protocol": "file:", 62541cb0ef41Sopenharmony_ci "username": "", 62551cb0ef41Sopenharmony_ci "password": "", 62561cb0ef41Sopenharmony_ci "host": "", 62571cb0ef41Sopenharmony_ci "hostname": "", 62581cb0ef41Sopenharmony_ci "port": "", 62591cb0ef41Sopenharmony_ci "pathname": "///", 62601cb0ef41Sopenharmony_ci "search": "", 62611cb0ef41Sopenharmony_ci "hash": "" 62621cb0ef41Sopenharmony_ci }, 62631cb0ef41Sopenharmony_ci { 62641cb0ef41Sopenharmony_ci "input": "/////mouse", 62651cb0ef41Sopenharmony_ci "base": "file:///elephant", 62661cb0ef41Sopenharmony_ci "href": "file://///mouse", 62671cb0ef41Sopenharmony_ci "protocol": "file:", 62681cb0ef41Sopenharmony_ci "username": "", 62691cb0ef41Sopenharmony_ci "password": "", 62701cb0ef41Sopenharmony_ci "host": "", 62711cb0ef41Sopenharmony_ci "hostname": "", 62721cb0ef41Sopenharmony_ci "port": "", 62731cb0ef41Sopenharmony_ci "pathname": "///mouse", 62741cb0ef41Sopenharmony_ci "search": "", 62751cb0ef41Sopenharmony_ci "hash": "" 62761cb0ef41Sopenharmony_ci }, 62771cb0ef41Sopenharmony_ci { 62781cb0ef41Sopenharmony_ci "input": "\\//pig", 62791cb0ef41Sopenharmony_ci "base": "file://lion/", 62801cb0ef41Sopenharmony_ci "href": "file:///pig", 62811cb0ef41Sopenharmony_ci "protocol": "file:", 62821cb0ef41Sopenharmony_ci "username": "", 62831cb0ef41Sopenharmony_ci "password": "", 62841cb0ef41Sopenharmony_ci "host": "", 62851cb0ef41Sopenharmony_ci "hostname": "", 62861cb0ef41Sopenharmony_ci "port": "", 62871cb0ef41Sopenharmony_ci "pathname": "/pig", 62881cb0ef41Sopenharmony_ci "search": "", 62891cb0ef41Sopenharmony_ci "hash": "" 62901cb0ef41Sopenharmony_ci }, 62911cb0ef41Sopenharmony_ci { 62921cb0ef41Sopenharmony_ci "input": "\\/localhost//pig", 62931cb0ef41Sopenharmony_ci "base": "file://lion/", 62941cb0ef41Sopenharmony_ci "href": "file:////pig", 62951cb0ef41Sopenharmony_ci "protocol": "file:", 62961cb0ef41Sopenharmony_ci "username": "", 62971cb0ef41Sopenharmony_ci "password": "", 62981cb0ef41Sopenharmony_ci "host": "", 62991cb0ef41Sopenharmony_ci "hostname": "", 63001cb0ef41Sopenharmony_ci "port": "", 63011cb0ef41Sopenharmony_ci "pathname": "//pig", 63021cb0ef41Sopenharmony_ci "search": "", 63031cb0ef41Sopenharmony_ci "hash": "" 63041cb0ef41Sopenharmony_ci }, 63051cb0ef41Sopenharmony_ci { 63061cb0ef41Sopenharmony_ci "input": "//localhost//pig", 63071cb0ef41Sopenharmony_ci "base": "file://lion/", 63081cb0ef41Sopenharmony_ci "href": "file:////pig", 63091cb0ef41Sopenharmony_ci "protocol": "file:", 63101cb0ef41Sopenharmony_ci "username": "", 63111cb0ef41Sopenharmony_ci "password": "", 63121cb0ef41Sopenharmony_ci "host": "", 63131cb0ef41Sopenharmony_ci "hostname": "", 63141cb0ef41Sopenharmony_ci "port": "", 63151cb0ef41Sopenharmony_ci "pathname": "//pig", 63161cb0ef41Sopenharmony_ci "search": "", 63171cb0ef41Sopenharmony_ci "hash": "" 63181cb0ef41Sopenharmony_ci }, 63191cb0ef41Sopenharmony_ci { 63201cb0ef41Sopenharmony_ci "input": "/..//localhost//pig", 63211cb0ef41Sopenharmony_ci "base": "file://lion/", 63221cb0ef41Sopenharmony_ci "href": "file://lion//localhost//pig", 63231cb0ef41Sopenharmony_ci "protocol": "file:", 63241cb0ef41Sopenharmony_ci "username": "", 63251cb0ef41Sopenharmony_ci "password": "", 63261cb0ef41Sopenharmony_ci "host": "lion", 63271cb0ef41Sopenharmony_ci "hostname": "lion", 63281cb0ef41Sopenharmony_ci "port": "", 63291cb0ef41Sopenharmony_ci "pathname": "//localhost//pig", 63301cb0ef41Sopenharmony_ci "search": "", 63311cb0ef41Sopenharmony_ci "hash": "" 63321cb0ef41Sopenharmony_ci }, 63331cb0ef41Sopenharmony_ci { 63341cb0ef41Sopenharmony_ci "input": "file://", 63351cb0ef41Sopenharmony_ci "base": "file://ape/", 63361cb0ef41Sopenharmony_ci "href": "file:///", 63371cb0ef41Sopenharmony_ci "protocol": "file:", 63381cb0ef41Sopenharmony_ci "username": "", 63391cb0ef41Sopenharmony_ci "password": "", 63401cb0ef41Sopenharmony_ci "host": "", 63411cb0ef41Sopenharmony_ci "hostname": "", 63421cb0ef41Sopenharmony_ci "port": "", 63431cb0ef41Sopenharmony_ci "pathname": "/", 63441cb0ef41Sopenharmony_ci "search": "", 63451cb0ef41Sopenharmony_ci "hash": "" 63461cb0ef41Sopenharmony_ci }, 63471cb0ef41Sopenharmony_ci "# File URLs with non-empty hosts", 63481cb0ef41Sopenharmony_ci { 63491cb0ef41Sopenharmony_ci "input": "/rooibos", 63501cb0ef41Sopenharmony_ci "base": "file://tea/", 63511cb0ef41Sopenharmony_ci "href": "file://tea/rooibos", 63521cb0ef41Sopenharmony_ci "protocol": "file:", 63531cb0ef41Sopenharmony_ci "username": "", 63541cb0ef41Sopenharmony_ci "password": "", 63551cb0ef41Sopenharmony_ci "host": "tea", 63561cb0ef41Sopenharmony_ci "hostname": "tea", 63571cb0ef41Sopenharmony_ci "port": "", 63581cb0ef41Sopenharmony_ci "pathname": "/rooibos", 63591cb0ef41Sopenharmony_ci "search": "", 63601cb0ef41Sopenharmony_ci "hash": "" 63611cb0ef41Sopenharmony_ci }, 63621cb0ef41Sopenharmony_ci { 63631cb0ef41Sopenharmony_ci "input": "/?chai", 63641cb0ef41Sopenharmony_ci "base": "file://tea/", 63651cb0ef41Sopenharmony_ci "href": "file://tea/?chai", 63661cb0ef41Sopenharmony_ci "protocol": "file:", 63671cb0ef41Sopenharmony_ci "username": "", 63681cb0ef41Sopenharmony_ci "password": "", 63691cb0ef41Sopenharmony_ci "host": "tea", 63701cb0ef41Sopenharmony_ci "hostname": "tea", 63711cb0ef41Sopenharmony_ci "port": "", 63721cb0ef41Sopenharmony_ci "pathname": "/", 63731cb0ef41Sopenharmony_ci "search": "?chai", 63741cb0ef41Sopenharmony_ci "hash": "" 63751cb0ef41Sopenharmony_ci }, 63761cb0ef41Sopenharmony_ci "# Windows drive letter handling with the 'file:' base URL", 63771cb0ef41Sopenharmony_ci { 63781cb0ef41Sopenharmony_ci "input": "C|", 63791cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 63801cb0ef41Sopenharmony_ci "href": "file://host/C:", 63811cb0ef41Sopenharmony_ci "protocol": "file:", 63821cb0ef41Sopenharmony_ci "username": "", 63831cb0ef41Sopenharmony_ci "password": "", 63841cb0ef41Sopenharmony_ci "host": "host", 63851cb0ef41Sopenharmony_ci "hostname": "host", 63861cb0ef41Sopenharmony_ci "port": "", 63871cb0ef41Sopenharmony_ci "pathname": "/C:", 63881cb0ef41Sopenharmony_ci "search": "", 63891cb0ef41Sopenharmony_ci "hash": "" 63901cb0ef41Sopenharmony_ci }, 63911cb0ef41Sopenharmony_ci { 63921cb0ef41Sopenharmony_ci "input": "C|", 63931cb0ef41Sopenharmony_ci "base": "file://host/D:/dir1/dir2/file", 63941cb0ef41Sopenharmony_ci "href": "file://host/C:", 63951cb0ef41Sopenharmony_ci "protocol": "file:", 63961cb0ef41Sopenharmony_ci "username": "", 63971cb0ef41Sopenharmony_ci "password": "", 63981cb0ef41Sopenharmony_ci "host": "host", 63991cb0ef41Sopenharmony_ci "hostname": "host", 64001cb0ef41Sopenharmony_ci "port": "", 64011cb0ef41Sopenharmony_ci "pathname": "/C:", 64021cb0ef41Sopenharmony_ci "search": "", 64031cb0ef41Sopenharmony_ci "hash": "" 64041cb0ef41Sopenharmony_ci }, 64051cb0ef41Sopenharmony_ci { 64061cb0ef41Sopenharmony_ci "input": "C|#", 64071cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64081cb0ef41Sopenharmony_ci "href": "file://host/C:#", 64091cb0ef41Sopenharmony_ci "protocol": "file:", 64101cb0ef41Sopenharmony_ci "username": "", 64111cb0ef41Sopenharmony_ci "password": "", 64121cb0ef41Sopenharmony_ci "host": "host", 64131cb0ef41Sopenharmony_ci "hostname": "host", 64141cb0ef41Sopenharmony_ci "port": "", 64151cb0ef41Sopenharmony_ci "pathname": "/C:", 64161cb0ef41Sopenharmony_ci "search": "", 64171cb0ef41Sopenharmony_ci "hash": "" 64181cb0ef41Sopenharmony_ci }, 64191cb0ef41Sopenharmony_ci { 64201cb0ef41Sopenharmony_ci "input": "C|?", 64211cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64221cb0ef41Sopenharmony_ci "href": "file://host/C:?", 64231cb0ef41Sopenharmony_ci "protocol": "file:", 64241cb0ef41Sopenharmony_ci "username": "", 64251cb0ef41Sopenharmony_ci "password": "", 64261cb0ef41Sopenharmony_ci "host": "host", 64271cb0ef41Sopenharmony_ci "hostname": "host", 64281cb0ef41Sopenharmony_ci "port": "", 64291cb0ef41Sopenharmony_ci "pathname": "/C:", 64301cb0ef41Sopenharmony_ci "search": "", 64311cb0ef41Sopenharmony_ci "hash": "" 64321cb0ef41Sopenharmony_ci }, 64331cb0ef41Sopenharmony_ci { 64341cb0ef41Sopenharmony_ci "input": "C|/", 64351cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64361cb0ef41Sopenharmony_ci "href": "file://host/C:/", 64371cb0ef41Sopenharmony_ci "protocol": "file:", 64381cb0ef41Sopenharmony_ci "username": "", 64391cb0ef41Sopenharmony_ci "password": "", 64401cb0ef41Sopenharmony_ci "host": "host", 64411cb0ef41Sopenharmony_ci "hostname": "host", 64421cb0ef41Sopenharmony_ci "port": "", 64431cb0ef41Sopenharmony_ci "pathname": "/C:/", 64441cb0ef41Sopenharmony_ci "search": "", 64451cb0ef41Sopenharmony_ci "hash": "" 64461cb0ef41Sopenharmony_ci }, 64471cb0ef41Sopenharmony_ci { 64481cb0ef41Sopenharmony_ci "input": "C|\n/", 64491cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64501cb0ef41Sopenharmony_ci "href": "file://host/C:/", 64511cb0ef41Sopenharmony_ci "protocol": "file:", 64521cb0ef41Sopenharmony_ci "username": "", 64531cb0ef41Sopenharmony_ci "password": "", 64541cb0ef41Sopenharmony_ci "host": "host", 64551cb0ef41Sopenharmony_ci "hostname": "host", 64561cb0ef41Sopenharmony_ci "port": "", 64571cb0ef41Sopenharmony_ci "pathname": "/C:/", 64581cb0ef41Sopenharmony_ci "search": "", 64591cb0ef41Sopenharmony_ci "hash": "" 64601cb0ef41Sopenharmony_ci }, 64611cb0ef41Sopenharmony_ci { 64621cb0ef41Sopenharmony_ci "input": "C|\\", 64631cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64641cb0ef41Sopenharmony_ci "href": "file://host/C:/", 64651cb0ef41Sopenharmony_ci "protocol": "file:", 64661cb0ef41Sopenharmony_ci "username": "", 64671cb0ef41Sopenharmony_ci "password": "", 64681cb0ef41Sopenharmony_ci "host": "host", 64691cb0ef41Sopenharmony_ci "hostname": "host", 64701cb0ef41Sopenharmony_ci "port": "", 64711cb0ef41Sopenharmony_ci "pathname": "/C:/", 64721cb0ef41Sopenharmony_ci "search": "", 64731cb0ef41Sopenharmony_ci "hash": "" 64741cb0ef41Sopenharmony_ci }, 64751cb0ef41Sopenharmony_ci { 64761cb0ef41Sopenharmony_ci "input": "C", 64771cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64781cb0ef41Sopenharmony_ci "href": "file://host/dir/C", 64791cb0ef41Sopenharmony_ci "protocol": "file:", 64801cb0ef41Sopenharmony_ci "username": "", 64811cb0ef41Sopenharmony_ci "password": "", 64821cb0ef41Sopenharmony_ci "host": "host", 64831cb0ef41Sopenharmony_ci "hostname": "host", 64841cb0ef41Sopenharmony_ci "port": "", 64851cb0ef41Sopenharmony_ci "pathname": "/dir/C", 64861cb0ef41Sopenharmony_ci "search": "", 64871cb0ef41Sopenharmony_ci "hash": "" 64881cb0ef41Sopenharmony_ci }, 64891cb0ef41Sopenharmony_ci { 64901cb0ef41Sopenharmony_ci "input": "C|a", 64911cb0ef41Sopenharmony_ci "base": "file://host/dir/file", 64921cb0ef41Sopenharmony_ci "href": "file://host/dir/C|a", 64931cb0ef41Sopenharmony_ci "protocol": "file:", 64941cb0ef41Sopenharmony_ci "username": "", 64951cb0ef41Sopenharmony_ci "password": "", 64961cb0ef41Sopenharmony_ci "host": "host", 64971cb0ef41Sopenharmony_ci "hostname": "host", 64981cb0ef41Sopenharmony_ci "port": "", 64991cb0ef41Sopenharmony_ci "pathname": "/dir/C|a", 65001cb0ef41Sopenharmony_ci "search": "", 65011cb0ef41Sopenharmony_ci "hash": "" 65021cb0ef41Sopenharmony_ci }, 65031cb0ef41Sopenharmony_ci "# Windows drive letter quirk in the file slash state", 65041cb0ef41Sopenharmony_ci { 65051cb0ef41Sopenharmony_ci "input": "/c:/foo/bar", 65061cb0ef41Sopenharmony_ci "base": "file:///c:/baz/qux", 65071cb0ef41Sopenharmony_ci "href": "file:///c:/foo/bar", 65081cb0ef41Sopenharmony_ci "protocol": "file:", 65091cb0ef41Sopenharmony_ci "username": "", 65101cb0ef41Sopenharmony_ci "password": "", 65111cb0ef41Sopenharmony_ci "host": "", 65121cb0ef41Sopenharmony_ci "hostname": "", 65131cb0ef41Sopenharmony_ci "port": "", 65141cb0ef41Sopenharmony_ci "pathname": "/c:/foo/bar", 65151cb0ef41Sopenharmony_ci "search": "", 65161cb0ef41Sopenharmony_ci "hash": "" 65171cb0ef41Sopenharmony_ci }, 65181cb0ef41Sopenharmony_ci { 65191cb0ef41Sopenharmony_ci "input": "/c|/foo/bar", 65201cb0ef41Sopenharmony_ci "base": "file:///c:/baz/qux", 65211cb0ef41Sopenharmony_ci "href": "file:///c:/foo/bar", 65221cb0ef41Sopenharmony_ci "protocol": "file:", 65231cb0ef41Sopenharmony_ci "username": "", 65241cb0ef41Sopenharmony_ci "password": "", 65251cb0ef41Sopenharmony_ci "host": "", 65261cb0ef41Sopenharmony_ci "hostname": "", 65271cb0ef41Sopenharmony_ci "port": "", 65281cb0ef41Sopenharmony_ci "pathname": "/c:/foo/bar", 65291cb0ef41Sopenharmony_ci "search": "", 65301cb0ef41Sopenharmony_ci "hash": "" 65311cb0ef41Sopenharmony_ci }, 65321cb0ef41Sopenharmony_ci { 65331cb0ef41Sopenharmony_ci "input": "file:\\c:\\foo\\bar", 65341cb0ef41Sopenharmony_ci "base": "file:///c:/baz/qux", 65351cb0ef41Sopenharmony_ci "href": "file:///c:/foo/bar", 65361cb0ef41Sopenharmony_ci "protocol": "file:", 65371cb0ef41Sopenharmony_ci "username": "", 65381cb0ef41Sopenharmony_ci "password": "", 65391cb0ef41Sopenharmony_ci "host": "", 65401cb0ef41Sopenharmony_ci "hostname": "", 65411cb0ef41Sopenharmony_ci "port": "", 65421cb0ef41Sopenharmony_ci "pathname": "/c:/foo/bar", 65431cb0ef41Sopenharmony_ci "search": "", 65441cb0ef41Sopenharmony_ci "hash": "" 65451cb0ef41Sopenharmony_ci }, 65461cb0ef41Sopenharmony_ci { 65471cb0ef41Sopenharmony_ci "input": "/c:/foo/bar", 65481cb0ef41Sopenharmony_ci "base": "file://host/path", 65491cb0ef41Sopenharmony_ci "href": "file://host/c:/foo/bar", 65501cb0ef41Sopenharmony_ci "protocol": "file:", 65511cb0ef41Sopenharmony_ci "username": "", 65521cb0ef41Sopenharmony_ci "password": "", 65531cb0ef41Sopenharmony_ci "host": "host", 65541cb0ef41Sopenharmony_ci "hostname": "host", 65551cb0ef41Sopenharmony_ci "port": "", 65561cb0ef41Sopenharmony_ci "pathname": "/c:/foo/bar", 65571cb0ef41Sopenharmony_ci "search": "", 65581cb0ef41Sopenharmony_ci "hash": "" 65591cb0ef41Sopenharmony_ci }, 65601cb0ef41Sopenharmony_ci "# Do not drop the host in the presence of a drive letter", 65611cb0ef41Sopenharmony_ci { 65621cb0ef41Sopenharmony_ci "input": "file://example.net/C:/", 65631cb0ef41Sopenharmony_ci "base": null, 65641cb0ef41Sopenharmony_ci "href": "file://example.net/C:/", 65651cb0ef41Sopenharmony_ci "protocol": "file:", 65661cb0ef41Sopenharmony_ci "username": "", 65671cb0ef41Sopenharmony_ci "password": "", 65681cb0ef41Sopenharmony_ci "host": "example.net", 65691cb0ef41Sopenharmony_ci "hostname": "example.net", 65701cb0ef41Sopenharmony_ci "port": "", 65711cb0ef41Sopenharmony_ci "pathname": "/C:/", 65721cb0ef41Sopenharmony_ci "search": "", 65731cb0ef41Sopenharmony_ci "hash": "" 65741cb0ef41Sopenharmony_ci }, 65751cb0ef41Sopenharmony_ci { 65761cb0ef41Sopenharmony_ci "input": "file://1.2.3.4/C:/", 65771cb0ef41Sopenharmony_ci "base": null, 65781cb0ef41Sopenharmony_ci "href": "file://1.2.3.4/C:/", 65791cb0ef41Sopenharmony_ci "protocol": "file:", 65801cb0ef41Sopenharmony_ci "username": "", 65811cb0ef41Sopenharmony_ci "password": "", 65821cb0ef41Sopenharmony_ci "host": "1.2.3.4", 65831cb0ef41Sopenharmony_ci "hostname": "1.2.3.4", 65841cb0ef41Sopenharmony_ci "port": "", 65851cb0ef41Sopenharmony_ci "pathname": "/C:/", 65861cb0ef41Sopenharmony_ci "search": "", 65871cb0ef41Sopenharmony_ci "hash": "" 65881cb0ef41Sopenharmony_ci }, 65891cb0ef41Sopenharmony_ci { 65901cb0ef41Sopenharmony_ci "input": "file://[1::8]/C:/", 65911cb0ef41Sopenharmony_ci "base": null, 65921cb0ef41Sopenharmony_ci "href": "file://[1::8]/C:/", 65931cb0ef41Sopenharmony_ci "protocol": "file:", 65941cb0ef41Sopenharmony_ci "username": "", 65951cb0ef41Sopenharmony_ci "password": "", 65961cb0ef41Sopenharmony_ci "host": "[1::8]", 65971cb0ef41Sopenharmony_ci "hostname": "[1::8]", 65981cb0ef41Sopenharmony_ci "port": "", 65991cb0ef41Sopenharmony_ci "pathname": "/C:/", 66001cb0ef41Sopenharmony_ci "search": "", 66011cb0ef41Sopenharmony_ci "hash": "" 66021cb0ef41Sopenharmony_ci }, 66031cb0ef41Sopenharmony_ci "# Copy the host from the base URL in the following cases", 66041cb0ef41Sopenharmony_ci { 66051cb0ef41Sopenharmony_ci "input": "C|/", 66061cb0ef41Sopenharmony_ci "base": "file://host/", 66071cb0ef41Sopenharmony_ci "href": "file://host/C:/", 66081cb0ef41Sopenharmony_ci "protocol": "file:", 66091cb0ef41Sopenharmony_ci "username": "", 66101cb0ef41Sopenharmony_ci "password": "", 66111cb0ef41Sopenharmony_ci "host": "host", 66121cb0ef41Sopenharmony_ci "hostname": "host", 66131cb0ef41Sopenharmony_ci "port": "", 66141cb0ef41Sopenharmony_ci "pathname": "/C:/", 66151cb0ef41Sopenharmony_ci "search": "", 66161cb0ef41Sopenharmony_ci "hash": "" 66171cb0ef41Sopenharmony_ci }, 66181cb0ef41Sopenharmony_ci { 66191cb0ef41Sopenharmony_ci "input": "/C:/", 66201cb0ef41Sopenharmony_ci "base": "file://host/", 66211cb0ef41Sopenharmony_ci "href": "file://host/C:/", 66221cb0ef41Sopenharmony_ci "protocol": "file:", 66231cb0ef41Sopenharmony_ci "username": "", 66241cb0ef41Sopenharmony_ci "password": "", 66251cb0ef41Sopenharmony_ci "host": "host", 66261cb0ef41Sopenharmony_ci "hostname": "host", 66271cb0ef41Sopenharmony_ci "port": "", 66281cb0ef41Sopenharmony_ci "pathname": "/C:/", 66291cb0ef41Sopenharmony_ci "search": "", 66301cb0ef41Sopenharmony_ci "hash": "" 66311cb0ef41Sopenharmony_ci }, 66321cb0ef41Sopenharmony_ci { 66331cb0ef41Sopenharmony_ci "input": "file:C:/", 66341cb0ef41Sopenharmony_ci "base": "file://host/", 66351cb0ef41Sopenharmony_ci "href": "file://host/C:/", 66361cb0ef41Sopenharmony_ci "protocol": "file:", 66371cb0ef41Sopenharmony_ci "username": "", 66381cb0ef41Sopenharmony_ci "password": "", 66391cb0ef41Sopenharmony_ci "host": "host", 66401cb0ef41Sopenharmony_ci "hostname": "host", 66411cb0ef41Sopenharmony_ci "port": "", 66421cb0ef41Sopenharmony_ci "pathname": "/C:/", 66431cb0ef41Sopenharmony_ci "search": "", 66441cb0ef41Sopenharmony_ci "hash": "" 66451cb0ef41Sopenharmony_ci }, 66461cb0ef41Sopenharmony_ci { 66471cb0ef41Sopenharmony_ci "input": "file:/C:/", 66481cb0ef41Sopenharmony_ci "base": "file://host/", 66491cb0ef41Sopenharmony_ci "href": "file://host/C:/", 66501cb0ef41Sopenharmony_ci "protocol": "file:", 66511cb0ef41Sopenharmony_ci "username": "", 66521cb0ef41Sopenharmony_ci "password": "", 66531cb0ef41Sopenharmony_ci "host": "host", 66541cb0ef41Sopenharmony_ci "hostname": "host", 66551cb0ef41Sopenharmony_ci "port": "", 66561cb0ef41Sopenharmony_ci "pathname": "/C:/", 66571cb0ef41Sopenharmony_ci "search": "", 66581cb0ef41Sopenharmony_ci "hash": "" 66591cb0ef41Sopenharmony_ci }, 66601cb0ef41Sopenharmony_ci "# Copy the empty host from the input in the following cases", 66611cb0ef41Sopenharmony_ci { 66621cb0ef41Sopenharmony_ci "input": "//C:/", 66631cb0ef41Sopenharmony_ci "base": "file://host/", 66641cb0ef41Sopenharmony_ci "href": "file:///C:/", 66651cb0ef41Sopenharmony_ci "protocol": "file:", 66661cb0ef41Sopenharmony_ci "username": "", 66671cb0ef41Sopenharmony_ci "password": "", 66681cb0ef41Sopenharmony_ci "host": "", 66691cb0ef41Sopenharmony_ci "hostname": "", 66701cb0ef41Sopenharmony_ci "port": "", 66711cb0ef41Sopenharmony_ci "pathname": "/C:/", 66721cb0ef41Sopenharmony_ci "search": "", 66731cb0ef41Sopenharmony_ci "hash": "" 66741cb0ef41Sopenharmony_ci }, 66751cb0ef41Sopenharmony_ci { 66761cb0ef41Sopenharmony_ci "input": "file://C:/", 66771cb0ef41Sopenharmony_ci "base": "file://host/", 66781cb0ef41Sopenharmony_ci "href": "file:///C:/", 66791cb0ef41Sopenharmony_ci "protocol": "file:", 66801cb0ef41Sopenharmony_ci "username": "", 66811cb0ef41Sopenharmony_ci "password": "", 66821cb0ef41Sopenharmony_ci "host": "", 66831cb0ef41Sopenharmony_ci "hostname": "", 66841cb0ef41Sopenharmony_ci "port": "", 66851cb0ef41Sopenharmony_ci "pathname": "/C:/", 66861cb0ef41Sopenharmony_ci "search": "", 66871cb0ef41Sopenharmony_ci "hash": "" 66881cb0ef41Sopenharmony_ci }, 66891cb0ef41Sopenharmony_ci { 66901cb0ef41Sopenharmony_ci "input": "///C:/", 66911cb0ef41Sopenharmony_ci "base": "file://host/", 66921cb0ef41Sopenharmony_ci "href": "file:///C:/", 66931cb0ef41Sopenharmony_ci "protocol": "file:", 66941cb0ef41Sopenharmony_ci "username": "", 66951cb0ef41Sopenharmony_ci "password": "", 66961cb0ef41Sopenharmony_ci "host": "", 66971cb0ef41Sopenharmony_ci "hostname": "", 66981cb0ef41Sopenharmony_ci "port": "", 66991cb0ef41Sopenharmony_ci "pathname": "/C:/", 67001cb0ef41Sopenharmony_ci "search": "", 67011cb0ef41Sopenharmony_ci "hash": "" 67021cb0ef41Sopenharmony_ci }, 67031cb0ef41Sopenharmony_ci { 67041cb0ef41Sopenharmony_ci "input": "file:///C:/", 67051cb0ef41Sopenharmony_ci "base": "file://host/", 67061cb0ef41Sopenharmony_ci "href": "file:///C:/", 67071cb0ef41Sopenharmony_ci "protocol": "file:", 67081cb0ef41Sopenharmony_ci "username": "", 67091cb0ef41Sopenharmony_ci "password": "", 67101cb0ef41Sopenharmony_ci "host": "", 67111cb0ef41Sopenharmony_ci "hostname": "", 67121cb0ef41Sopenharmony_ci "port": "", 67131cb0ef41Sopenharmony_ci "pathname": "/C:/", 67141cb0ef41Sopenharmony_ci "search": "", 67151cb0ef41Sopenharmony_ci "hash": "" 67161cb0ef41Sopenharmony_ci }, 67171cb0ef41Sopenharmony_ci "# Windows drive letter quirk (no host)", 67181cb0ef41Sopenharmony_ci { 67191cb0ef41Sopenharmony_ci "input": "file:/C|/", 67201cb0ef41Sopenharmony_ci "base": null, 67211cb0ef41Sopenharmony_ci "href": "file:///C:/", 67221cb0ef41Sopenharmony_ci "protocol": "file:", 67231cb0ef41Sopenharmony_ci "username": "", 67241cb0ef41Sopenharmony_ci "password": "", 67251cb0ef41Sopenharmony_ci "host": "", 67261cb0ef41Sopenharmony_ci "hostname": "", 67271cb0ef41Sopenharmony_ci "port": "", 67281cb0ef41Sopenharmony_ci "pathname": "/C:/", 67291cb0ef41Sopenharmony_ci "search": "", 67301cb0ef41Sopenharmony_ci "hash": "" 67311cb0ef41Sopenharmony_ci }, 67321cb0ef41Sopenharmony_ci { 67331cb0ef41Sopenharmony_ci "input": "file://C|/", 67341cb0ef41Sopenharmony_ci "base": null, 67351cb0ef41Sopenharmony_ci "href": "file:///C:/", 67361cb0ef41Sopenharmony_ci "protocol": "file:", 67371cb0ef41Sopenharmony_ci "username": "", 67381cb0ef41Sopenharmony_ci "password": "", 67391cb0ef41Sopenharmony_ci "host": "", 67401cb0ef41Sopenharmony_ci "hostname": "", 67411cb0ef41Sopenharmony_ci "port": "", 67421cb0ef41Sopenharmony_ci "pathname": "/C:/", 67431cb0ef41Sopenharmony_ci "search": "", 67441cb0ef41Sopenharmony_ci "hash": "" 67451cb0ef41Sopenharmony_ci }, 67461cb0ef41Sopenharmony_ci "# file URLs without base URL by Rimas Misevičius", 67471cb0ef41Sopenharmony_ci { 67481cb0ef41Sopenharmony_ci "input": "file:", 67491cb0ef41Sopenharmony_ci "base": null, 67501cb0ef41Sopenharmony_ci "href": "file:///", 67511cb0ef41Sopenharmony_ci "protocol": "file:", 67521cb0ef41Sopenharmony_ci "username": "", 67531cb0ef41Sopenharmony_ci "password": "", 67541cb0ef41Sopenharmony_ci "host": "", 67551cb0ef41Sopenharmony_ci "hostname": "", 67561cb0ef41Sopenharmony_ci "port": "", 67571cb0ef41Sopenharmony_ci "pathname": "/", 67581cb0ef41Sopenharmony_ci "search": "", 67591cb0ef41Sopenharmony_ci "hash": "" 67601cb0ef41Sopenharmony_ci }, 67611cb0ef41Sopenharmony_ci { 67621cb0ef41Sopenharmony_ci "input": "file:?q=v", 67631cb0ef41Sopenharmony_ci "base": null, 67641cb0ef41Sopenharmony_ci "href": "file:///?q=v", 67651cb0ef41Sopenharmony_ci "protocol": "file:", 67661cb0ef41Sopenharmony_ci "username": "", 67671cb0ef41Sopenharmony_ci "password": "", 67681cb0ef41Sopenharmony_ci "host": "", 67691cb0ef41Sopenharmony_ci "hostname": "", 67701cb0ef41Sopenharmony_ci "port": "", 67711cb0ef41Sopenharmony_ci "pathname": "/", 67721cb0ef41Sopenharmony_ci "search": "?q=v", 67731cb0ef41Sopenharmony_ci "hash": "" 67741cb0ef41Sopenharmony_ci }, 67751cb0ef41Sopenharmony_ci { 67761cb0ef41Sopenharmony_ci "input": "file:#frag", 67771cb0ef41Sopenharmony_ci "base": null, 67781cb0ef41Sopenharmony_ci "href": "file:///#frag", 67791cb0ef41Sopenharmony_ci "protocol": "file:", 67801cb0ef41Sopenharmony_ci "username": "", 67811cb0ef41Sopenharmony_ci "password": "", 67821cb0ef41Sopenharmony_ci "host": "", 67831cb0ef41Sopenharmony_ci "hostname": "", 67841cb0ef41Sopenharmony_ci "port": "", 67851cb0ef41Sopenharmony_ci "pathname": "/", 67861cb0ef41Sopenharmony_ci "search": "", 67871cb0ef41Sopenharmony_ci "hash": "#frag" 67881cb0ef41Sopenharmony_ci }, 67891cb0ef41Sopenharmony_ci "# file: drive letter cases from https://crbug.com/1078698", 67901cb0ef41Sopenharmony_ci { 67911cb0ef41Sopenharmony_ci "input": "file:///Y:", 67921cb0ef41Sopenharmony_ci "base": null, 67931cb0ef41Sopenharmony_ci "href": "file:///Y:", 67941cb0ef41Sopenharmony_ci "protocol": "file:", 67951cb0ef41Sopenharmony_ci "username": "", 67961cb0ef41Sopenharmony_ci "password": "", 67971cb0ef41Sopenharmony_ci "host": "", 67981cb0ef41Sopenharmony_ci "hostname": "", 67991cb0ef41Sopenharmony_ci "port": "", 68001cb0ef41Sopenharmony_ci "pathname": "/Y:", 68011cb0ef41Sopenharmony_ci "search": "", 68021cb0ef41Sopenharmony_ci "hash": "" 68031cb0ef41Sopenharmony_ci }, 68041cb0ef41Sopenharmony_ci { 68051cb0ef41Sopenharmony_ci "input": "file:///Y:/", 68061cb0ef41Sopenharmony_ci "base": null, 68071cb0ef41Sopenharmony_ci "href": "file:///Y:/", 68081cb0ef41Sopenharmony_ci "protocol": "file:", 68091cb0ef41Sopenharmony_ci "username": "", 68101cb0ef41Sopenharmony_ci "password": "", 68111cb0ef41Sopenharmony_ci "host": "", 68121cb0ef41Sopenharmony_ci "hostname": "", 68131cb0ef41Sopenharmony_ci "port": "", 68141cb0ef41Sopenharmony_ci "pathname": "/Y:/", 68151cb0ef41Sopenharmony_ci "search": "", 68161cb0ef41Sopenharmony_ci "hash": "" 68171cb0ef41Sopenharmony_ci }, 68181cb0ef41Sopenharmony_ci { 68191cb0ef41Sopenharmony_ci "input": "file:///./Y", 68201cb0ef41Sopenharmony_ci "base": null, 68211cb0ef41Sopenharmony_ci "href": "file:///Y", 68221cb0ef41Sopenharmony_ci "protocol": "file:", 68231cb0ef41Sopenharmony_ci "username": "", 68241cb0ef41Sopenharmony_ci "password": "", 68251cb0ef41Sopenharmony_ci "host": "", 68261cb0ef41Sopenharmony_ci "hostname": "", 68271cb0ef41Sopenharmony_ci "port": "", 68281cb0ef41Sopenharmony_ci "pathname": "/Y", 68291cb0ef41Sopenharmony_ci "search": "", 68301cb0ef41Sopenharmony_ci "hash": "" 68311cb0ef41Sopenharmony_ci }, 68321cb0ef41Sopenharmony_ci { 68331cb0ef41Sopenharmony_ci "input": "file:///./Y:", 68341cb0ef41Sopenharmony_ci "base": null, 68351cb0ef41Sopenharmony_ci "href": "file:///Y:", 68361cb0ef41Sopenharmony_ci "protocol": "file:", 68371cb0ef41Sopenharmony_ci "username": "", 68381cb0ef41Sopenharmony_ci "password": "", 68391cb0ef41Sopenharmony_ci "host": "", 68401cb0ef41Sopenharmony_ci "hostname": "", 68411cb0ef41Sopenharmony_ci "port": "", 68421cb0ef41Sopenharmony_ci "pathname": "/Y:", 68431cb0ef41Sopenharmony_ci "search": "", 68441cb0ef41Sopenharmony_ci "hash": "" 68451cb0ef41Sopenharmony_ci }, 68461cb0ef41Sopenharmony_ci { 68471cb0ef41Sopenharmony_ci "input": "\\\\\\.\\Y:", 68481cb0ef41Sopenharmony_ci "base": null, 68491cb0ef41Sopenharmony_ci "failure": true, 68501cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 68511cb0ef41Sopenharmony_ci }, 68521cb0ef41Sopenharmony_ci "# file: drive letter cases from https://crbug.com/1078698 but lowercased", 68531cb0ef41Sopenharmony_ci { 68541cb0ef41Sopenharmony_ci "input": "file:///y:", 68551cb0ef41Sopenharmony_ci "base": null, 68561cb0ef41Sopenharmony_ci "href": "file:///y:", 68571cb0ef41Sopenharmony_ci "protocol": "file:", 68581cb0ef41Sopenharmony_ci "username": "", 68591cb0ef41Sopenharmony_ci "password": "", 68601cb0ef41Sopenharmony_ci "host": "", 68611cb0ef41Sopenharmony_ci "hostname": "", 68621cb0ef41Sopenharmony_ci "port": "", 68631cb0ef41Sopenharmony_ci "pathname": "/y:", 68641cb0ef41Sopenharmony_ci "search": "", 68651cb0ef41Sopenharmony_ci "hash": "" 68661cb0ef41Sopenharmony_ci }, 68671cb0ef41Sopenharmony_ci { 68681cb0ef41Sopenharmony_ci "input": "file:///y:/", 68691cb0ef41Sopenharmony_ci "base": null, 68701cb0ef41Sopenharmony_ci "href": "file:///y:/", 68711cb0ef41Sopenharmony_ci "protocol": "file:", 68721cb0ef41Sopenharmony_ci "username": "", 68731cb0ef41Sopenharmony_ci "password": "", 68741cb0ef41Sopenharmony_ci "host": "", 68751cb0ef41Sopenharmony_ci "hostname": "", 68761cb0ef41Sopenharmony_ci "port": "", 68771cb0ef41Sopenharmony_ci "pathname": "/y:/", 68781cb0ef41Sopenharmony_ci "search": "", 68791cb0ef41Sopenharmony_ci "hash": "" 68801cb0ef41Sopenharmony_ci }, 68811cb0ef41Sopenharmony_ci { 68821cb0ef41Sopenharmony_ci "input": "file:///./y", 68831cb0ef41Sopenharmony_ci "base": null, 68841cb0ef41Sopenharmony_ci "href": "file:///y", 68851cb0ef41Sopenharmony_ci "protocol": "file:", 68861cb0ef41Sopenharmony_ci "username": "", 68871cb0ef41Sopenharmony_ci "password": "", 68881cb0ef41Sopenharmony_ci "host": "", 68891cb0ef41Sopenharmony_ci "hostname": "", 68901cb0ef41Sopenharmony_ci "port": "", 68911cb0ef41Sopenharmony_ci "pathname": "/y", 68921cb0ef41Sopenharmony_ci "search": "", 68931cb0ef41Sopenharmony_ci "hash": "" 68941cb0ef41Sopenharmony_ci }, 68951cb0ef41Sopenharmony_ci { 68961cb0ef41Sopenharmony_ci "input": "file:///./y:", 68971cb0ef41Sopenharmony_ci "base": null, 68981cb0ef41Sopenharmony_ci "href": "file:///y:", 68991cb0ef41Sopenharmony_ci "protocol": "file:", 69001cb0ef41Sopenharmony_ci "username": "", 69011cb0ef41Sopenharmony_ci "password": "", 69021cb0ef41Sopenharmony_ci "host": "", 69031cb0ef41Sopenharmony_ci "hostname": "", 69041cb0ef41Sopenharmony_ci "port": "", 69051cb0ef41Sopenharmony_ci "pathname": "/y:", 69061cb0ef41Sopenharmony_ci "search": "", 69071cb0ef41Sopenharmony_ci "hash": "" 69081cb0ef41Sopenharmony_ci }, 69091cb0ef41Sopenharmony_ci { 69101cb0ef41Sopenharmony_ci "input": "\\\\\\.\\y:", 69111cb0ef41Sopenharmony_ci "base": null, 69121cb0ef41Sopenharmony_ci "failure": true, 69131cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 69141cb0ef41Sopenharmony_ci }, 69151cb0ef41Sopenharmony_ci "# Additional file URL tests for (https://github.com/whatwg/url/issues/405)", 69161cb0ef41Sopenharmony_ci { 69171cb0ef41Sopenharmony_ci "input": "file://localhost//a//../..//foo", 69181cb0ef41Sopenharmony_ci "base": null, 69191cb0ef41Sopenharmony_ci "href": "file://///foo", 69201cb0ef41Sopenharmony_ci "protocol": "file:", 69211cb0ef41Sopenharmony_ci "username": "", 69221cb0ef41Sopenharmony_ci "password": "", 69231cb0ef41Sopenharmony_ci "host": "", 69241cb0ef41Sopenharmony_ci "hostname": "", 69251cb0ef41Sopenharmony_ci "port": "", 69261cb0ef41Sopenharmony_ci "pathname": "///foo", 69271cb0ef41Sopenharmony_ci "search": "", 69281cb0ef41Sopenharmony_ci "hash": "" 69291cb0ef41Sopenharmony_ci }, 69301cb0ef41Sopenharmony_ci { 69311cb0ef41Sopenharmony_ci "input": "file://localhost////foo", 69321cb0ef41Sopenharmony_ci "base": null, 69331cb0ef41Sopenharmony_ci "href": "file://////foo", 69341cb0ef41Sopenharmony_ci "protocol": "file:", 69351cb0ef41Sopenharmony_ci "username": "", 69361cb0ef41Sopenharmony_ci "password": "", 69371cb0ef41Sopenharmony_ci "host": "", 69381cb0ef41Sopenharmony_ci "hostname": "", 69391cb0ef41Sopenharmony_ci "port": "", 69401cb0ef41Sopenharmony_ci "pathname": "////foo", 69411cb0ef41Sopenharmony_ci "search": "", 69421cb0ef41Sopenharmony_ci "hash": "" 69431cb0ef41Sopenharmony_ci }, 69441cb0ef41Sopenharmony_ci { 69451cb0ef41Sopenharmony_ci "input": "file:////foo", 69461cb0ef41Sopenharmony_ci "base": null, 69471cb0ef41Sopenharmony_ci "href": "file:////foo", 69481cb0ef41Sopenharmony_ci "protocol": "file:", 69491cb0ef41Sopenharmony_ci "username": "", 69501cb0ef41Sopenharmony_ci "password": "", 69511cb0ef41Sopenharmony_ci "host": "", 69521cb0ef41Sopenharmony_ci "hostname": "", 69531cb0ef41Sopenharmony_ci "port": "", 69541cb0ef41Sopenharmony_ci "pathname": "//foo", 69551cb0ef41Sopenharmony_ci "search": "", 69561cb0ef41Sopenharmony_ci "hash": "" 69571cb0ef41Sopenharmony_ci }, 69581cb0ef41Sopenharmony_ci { 69591cb0ef41Sopenharmony_ci "input": "file:///one/two", 69601cb0ef41Sopenharmony_ci "base": "file:///", 69611cb0ef41Sopenharmony_ci "href": "file:///one/two", 69621cb0ef41Sopenharmony_ci "protocol": "file:", 69631cb0ef41Sopenharmony_ci "username": "", 69641cb0ef41Sopenharmony_ci "password": "", 69651cb0ef41Sopenharmony_ci "host": "", 69661cb0ef41Sopenharmony_ci "hostname": "", 69671cb0ef41Sopenharmony_ci "port": "", 69681cb0ef41Sopenharmony_ci "pathname": "/one/two", 69691cb0ef41Sopenharmony_ci "search": "", 69701cb0ef41Sopenharmony_ci "hash": "" 69711cb0ef41Sopenharmony_ci }, 69721cb0ef41Sopenharmony_ci { 69731cb0ef41Sopenharmony_ci "input": "file:////one/two", 69741cb0ef41Sopenharmony_ci "base": "file:///", 69751cb0ef41Sopenharmony_ci "href": "file:////one/two", 69761cb0ef41Sopenharmony_ci "protocol": "file:", 69771cb0ef41Sopenharmony_ci "username": "", 69781cb0ef41Sopenharmony_ci "password": "", 69791cb0ef41Sopenharmony_ci "host": "", 69801cb0ef41Sopenharmony_ci "hostname": "", 69811cb0ef41Sopenharmony_ci "port": "", 69821cb0ef41Sopenharmony_ci "pathname": "//one/two", 69831cb0ef41Sopenharmony_ci "search": "", 69841cb0ef41Sopenharmony_ci "hash": "" 69851cb0ef41Sopenharmony_ci }, 69861cb0ef41Sopenharmony_ci { 69871cb0ef41Sopenharmony_ci "input": "//one/two", 69881cb0ef41Sopenharmony_ci "base": "file:///", 69891cb0ef41Sopenharmony_ci "href": "file://one/two", 69901cb0ef41Sopenharmony_ci "protocol": "file:", 69911cb0ef41Sopenharmony_ci "username": "", 69921cb0ef41Sopenharmony_ci "password": "", 69931cb0ef41Sopenharmony_ci "host": "one", 69941cb0ef41Sopenharmony_ci "hostname": "one", 69951cb0ef41Sopenharmony_ci "port": "", 69961cb0ef41Sopenharmony_ci "pathname": "/two", 69971cb0ef41Sopenharmony_ci "search": "", 69981cb0ef41Sopenharmony_ci "hash": "" 69991cb0ef41Sopenharmony_ci }, 70001cb0ef41Sopenharmony_ci { 70011cb0ef41Sopenharmony_ci "input": "///one/two", 70021cb0ef41Sopenharmony_ci "base": "file:///", 70031cb0ef41Sopenharmony_ci "href": "file:///one/two", 70041cb0ef41Sopenharmony_ci "protocol": "file:", 70051cb0ef41Sopenharmony_ci "username": "", 70061cb0ef41Sopenharmony_ci "password": "", 70071cb0ef41Sopenharmony_ci "host": "", 70081cb0ef41Sopenharmony_ci "hostname": "", 70091cb0ef41Sopenharmony_ci "port": "", 70101cb0ef41Sopenharmony_ci "pathname": "/one/two", 70111cb0ef41Sopenharmony_ci "search": "", 70121cb0ef41Sopenharmony_ci "hash": "" 70131cb0ef41Sopenharmony_ci }, 70141cb0ef41Sopenharmony_ci { 70151cb0ef41Sopenharmony_ci "input": "////one/two", 70161cb0ef41Sopenharmony_ci "base": "file:///", 70171cb0ef41Sopenharmony_ci "href": "file:////one/two", 70181cb0ef41Sopenharmony_ci "protocol": "file:", 70191cb0ef41Sopenharmony_ci "username": "", 70201cb0ef41Sopenharmony_ci "password": "", 70211cb0ef41Sopenharmony_ci "host": "", 70221cb0ef41Sopenharmony_ci "hostname": "", 70231cb0ef41Sopenharmony_ci "port": "", 70241cb0ef41Sopenharmony_ci "pathname": "//one/two", 70251cb0ef41Sopenharmony_ci "search": "", 70261cb0ef41Sopenharmony_ci "hash": "" 70271cb0ef41Sopenharmony_ci }, 70281cb0ef41Sopenharmony_ci { 70291cb0ef41Sopenharmony_ci "input": "file:///.//", 70301cb0ef41Sopenharmony_ci "base": "file:////", 70311cb0ef41Sopenharmony_ci "href": "file:////", 70321cb0ef41Sopenharmony_ci "protocol": "file:", 70331cb0ef41Sopenharmony_ci "username": "", 70341cb0ef41Sopenharmony_ci "password": "", 70351cb0ef41Sopenharmony_ci "host": "", 70361cb0ef41Sopenharmony_ci "hostname": "", 70371cb0ef41Sopenharmony_ci "port": "", 70381cb0ef41Sopenharmony_ci "pathname": "//", 70391cb0ef41Sopenharmony_ci "search": "", 70401cb0ef41Sopenharmony_ci "hash": "" 70411cb0ef41Sopenharmony_ci }, 70421cb0ef41Sopenharmony_ci "File URL tests for https://github.com/whatwg/url/issues/549", 70431cb0ef41Sopenharmony_ci { 70441cb0ef41Sopenharmony_ci "input": "file:.//p", 70451cb0ef41Sopenharmony_ci "base": null, 70461cb0ef41Sopenharmony_ci "href": "file:////p", 70471cb0ef41Sopenharmony_ci "protocol": "file:", 70481cb0ef41Sopenharmony_ci "username": "", 70491cb0ef41Sopenharmony_ci "password": "", 70501cb0ef41Sopenharmony_ci "host": "", 70511cb0ef41Sopenharmony_ci "hostname": "", 70521cb0ef41Sopenharmony_ci "port": "", 70531cb0ef41Sopenharmony_ci "pathname": "//p", 70541cb0ef41Sopenharmony_ci "search": "", 70551cb0ef41Sopenharmony_ci "hash": "" 70561cb0ef41Sopenharmony_ci }, 70571cb0ef41Sopenharmony_ci { 70581cb0ef41Sopenharmony_ci "input": "file:/.//p", 70591cb0ef41Sopenharmony_ci "base": null, 70601cb0ef41Sopenharmony_ci "href": "file:////p", 70611cb0ef41Sopenharmony_ci "protocol": "file:", 70621cb0ef41Sopenharmony_ci "username": "", 70631cb0ef41Sopenharmony_ci "password": "", 70641cb0ef41Sopenharmony_ci "host": "", 70651cb0ef41Sopenharmony_ci "hostname": "", 70661cb0ef41Sopenharmony_ci "port": "", 70671cb0ef41Sopenharmony_ci "pathname": "//p", 70681cb0ef41Sopenharmony_ci "search": "", 70691cb0ef41Sopenharmony_ci "hash": "" 70701cb0ef41Sopenharmony_ci }, 70711cb0ef41Sopenharmony_ci "# IPv6 tests", 70721cb0ef41Sopenharmony_ci { 70731cb0ef41Sopenharmony_ci "input": "http://[1:0::]", 70741cb0ef41Sopenharmony_ci "base": "http://example.net/", 70751cb0ef41Sopenharmony_ci "href": "http://[1::]/", 70761cb0ef41Sopenharmony_ci "origin": "http://[1::]", 70771cb0ef41Sopenharmony_ci "protocol": "http:", 70781cb0ef41Sopenharmony_ci "username": "", 70791cb0ef41Sopenharmony_ci "password": "", 70801cb0ef41Sopenharmony_ci "host": "[1::]", 70811cb0ef41Sopenharmony_ci "hostname": "[1::]", 70821cb0ef41Sopenharmony_ci "port": "", 70831cb0ef41Sopenharmony_ci "pathname": "/", 70841cb0ef41Sopenharmony_ci "search": "", 70851cb0ef41Sopenharmony_ci "hash": "" 70861cb0ef41Sopenharmony_ci }, 70871cb0ef41Sopenharmony_ci { 70881cb0ef41Sopenharmony_ci "input": "http://[0:1:2:3:4:5:6:7:8]", 70891cb0ef41Sopenharmony_ci "base": "http://example.net/", 70901cb0ef41Sopenharmony_ci "failure": true 70911cb0ef41Sopenharmony_ci }, 70921cb0ef41Sopenharmony_ci { 70931cb0ef41Sopenharmony_ci "input": "https://[0::0::0]", 70941cb0ef41Sopenharmony_ci "base": null, 70951cb0ef41Sopenharmony_ci "failure": true 70961cb0ef41Sopenharmony_ci }, 70971cb0ef41Sopenharmony_ci { 70981cb0ef41Sopenharmony_ci "input": "https://[0:.0]", 70991cb0ef41Sopenharmony_ci "base": null, 71001cb0ef41Sopenharmony_ci "failure": true 71011cb0ef41Sopenharmony_ci }, 71021cb0ef41Sopenharmony_ci { 71031cb0ef41Sopenharmony_ci "input": "https://[0:0:]", 71041cb0ef41Sopenharmony_ci "base": null, 71051cb0ef41Sopenharmony_ci "failure": true 71061cb0ef41Sopenharmony_ci }, 71071cb0ef41Sopenharmony_ci { 71081cb0ef41Sopenharmony_ci "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]", 71091cb0ef41Sopenharmony_ci "base": null, 71101cb0ef41Sopenharmony_ci "failure": true 71111cb0ef41Sopenharmony_ci }, 71121cb0ef41Sopenharmony_ci { 71131cb0ef41Sopenharmony_ci "input": "https://[0:1.00.0.0.0]", 71141cb0ef41Sopenharmony_ci "base": null, 71151cb0ef41Sopenharmony_ci "failure": true 71161cb0ef41Sopenharmony_ci }, 71171cb0ef41Sopenharmony_ci { 71181cb0ef41Sopenharmony_ci "input": "https://[0:1.290.0.0.0]", 71191cb0ef41Sopenharmony_ci "base": null, 71201cb0ef41Sopenharmony_ci "failure": true 71211cb0ef41Sopenharmony_ci }, 71221cb0ef41Sopenharmony_ci { 71231cb0ef41Sopenharmony_ci "input": "https://[0:1.23.23]", 71241cb0ef41Sopenharmony_ci "base": null, 71251cb0ef41Sopenharmony_ci "failure": true 71261cb0ef41Sopenharmony_ci }, 71271cb0ef41Sopenharmony_ci "# Empty host", 71281cb0ef41Sopenharmony_ci { 71291cb0ef41Sopenharmony_ci "input": "http://?", 71301cb0ef41Sopenharmony_ci "base": null, 71311cb0ef41Sopenharmony_ci "failure": true 71321cb0ef41Sopenharmony_ci }, 71331cb0ef41Sopenharmony_ci { 71341cb0ef41Sopenharmony_ci "input": "http://#", 71351cb0ef41Sopenharmony_ci "base": null, 71361cb0ef41Sopenharmony_ci "failure": true 71371cb0ef41Sopenharmony_ci }, 71381cb0ef41Sopenharmony_ci "Port overflow (2^32 + 81)", 71391cb0ef41Sopenharmony_ci { 71401cb0ef41Sopenharmony_ci "input": "http://f:4294967377/c", 71411cb0ef41Sopenharmony_ci "base": "http://example.org/", 71421cb0ef41Sopenharmony_ci "failure": true 71431cb0ef41Sopenharmony_ci }, 71441cb0ef41Sopenharmony_ci "Port overflow (2^64 + 81)", 71451cb0ef41Sopenharmony_ci { 71461cb0ef41Sopenharmony_ci "input": "http://f:18446744073709551697/c", 71471cb0ef41Sopenharmony_ci "base": "http://example.org/", 71481cb0ef41Sopenharmony_ci "failure": true 71491cb0ef41Sopenharmony_ci }, 71501cb0ef41Sopenharmony_ci "Port overflow (2^128 + 81)", 71511cb0ef41Sopenharmony_ci { 71521cb0ef41Sopenharmony_ci "input": "http://f:340282366920938463463374607431768211537/c", 71531cb0ef41Sopenharmony_ci "base": "http://example.org/", 71541cb0ef41Sopenharmony_ci "failure": true 71551cb0ef41Sopenharmony_ci }, 71561cb0ef41Sopenharmony_ci "# Non-special-URL path tests", 71571cb0ef41Sopenharmony_ci { 71581cb0ef41Sopenharmony_ci "input": "sc://ñ", 71591cb0ef41Sopenharmony_ci "base": null, 71601cb0ef41Sopenharmony_ci "href": "sc://%C3%B1", 71611cb0ef41Sopenharmony_ci "origin": "null", 71621cb0ef41Sopenharmony_ci "protocol": "sc:", 71631cb0ef41Sopenharmony_ci "username": "", 71641cb0ef41Sopenharmony_ci "password": "", 71651cb0ef41Sopenharmony_ci "host": "%C3%B1", 71661cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 71671cb0ef41Sopenharmony_ci "port": "", 71681cb0ef41Sopenharmony_ci "pathname": "", 71691cb0ef41Sopenharmony_ci "search": "", 71701cb0ef41Sopenharmony_ci "hash": "" 71711cb0ef41Sopenharmony_ci }, 71721cb0ef41Sopenharmony_ci { 71731cb0ef41Sopenharmony_ci "input": "sc://ñ?x", 71741cb0ef41Sopenharmony_ci "base": null, 71751cb0ef41Sopenharmony_ci "href": "sc://%C3%B1?x", 71761cb0ef41Sopenharmony_ci "origin": "null", 71771cb0ef41Sopenharmony_ci "protocol": "sc:", 71781cb0ef41Sopenharmony_ci "username": "", 71791cb0ef41Sopenharmony_ci "password": "", 71801cb0ef41Sopenharmony_ci "host": "%C3%B1", 71811cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 71821cb0ef41Sopenharmony_ci "port": "", 71831cb0ef41Sopenharmony_ci "pathname": "", 71841cb0ef41Sopenharmony_ci "search": "?x", 71851cb0ef41Sopenharmony_ci "hash": "" 71861cb0ef41Sopenharmony_ci }, 71871cb0ef41Sopenharmony_ci { 71881cb0ef41Sopenharmony_ci "input": "sc://ñ#x", 71891cb0ef41Sopenharmony_ci "base": null, 71901cb0ef41Sopenharmony_ci "href": "sc://%C3%B1#x", 71911cb0ef41Sopenharmony_ci "origin": "null", 71921cb0ef41Sopenharmony_ci "protocol": "sc:", 71931cb0ef41Sopenharmony_ci "username": "", 71941cb0ef41Sopenharmony_ci "password": "", 71951cb0ef41Sopenharmony_ci "host": "%C3%B1", 71961cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 71971cb0ef41Sopenharmony_ci "port": "", 71981cb0ef41Sopenharmony_ci "pathname": "", 71991cb0ef41Sopenharmony_ci "search": "", 72001cb0ef41Sopenharmony_ci "hash": "#x" 72011cb0ef41Sopenharmony_ci }, 72021cb0ef41Sopenharmony_ci { 72031cb0ef41Sopenharmony_ci "input": "#x", 72041cb0ef41Sopenharmony_ci "base": "sc://ñ", 72051cb0ef41Sopenharmony_ci "href": "sc://%C3%B1#x", 72061cb0ef41Sopenharmony_ci "origin": "null", 72071cb0ef41Sopenharmony_ci "protocol": "sc:", 72081cb0ef41Sopenharmony_ci "username": "", 72091cb0ef41Sopenharmony_ci "password": "", 72101cb0ef41Sopenharmony_ci "host": "%C3%B1", 72111cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 72121cb0ef41Sopenharmony_ci "port": "", 72131cb0ef41Sopenharmony_ci "pathname": "", 72141cb0ef41Sopenharmony_ci "search": "", 72151cb0ef41Sopenharmony_ci "hash": "#x" 72161cb0ef41Sopenharmony_ci }, 72171cb0ef41Sopenharmony_ci { 72181cb0ef41Sopenharmony_ci "input": "?x", 72191cb0ef41Sopenharmony_ci "base": "sc://ñ", 72201cb0ef41Sopenharmony_ci "href": "sc://%C3%B1?x", 72211cb0ef41Sopenharmony_ci "origin": "null", 72221cb0ef41Sopenharmony_ci "protocol": "sc:", 72231cb0ef41Sopenharmony_ci "username": "", 72241cb0ef41Sopenharmony_ci "password": "", 72251cb0ef41Sopenharmony_ci "host": "%C3%B1", 72261cb0ef41Sopenharmony_ci "hostname": "%C3%B1", 72271cb0ef41Sopenharmony_ci "port": "", 72281cb0ef41Sopenharmony_ci "pathname": "", 72291cb0ef41Sopenharmony_ci "search": "?x", 72301cb0ef41Sopenharmony_ci "hash": "" 72311cb0ef41Sopenharmony_ci }, 72321cb0ef41Sopenharmony_ci { 72331cb0ef41Sopenharmony_ci "input": "sc://?", 72341cb0ef41Sopenharmony_ci "base": null, 72351cb0ef41Sopenharmony_ci "href": "sc://?", 72361cb0ef41Sopenharmony_ci "protocol": "sc:", 72371cb0ef41Sopenharmony_ci "username": "", 72381cb0ef41Sopenharmony_ci "password": "", 72391cb0ef41Sopenharmony_ci "host": "", 72401cb0ef41Sopenharmony_ci "hostname": "", 72411cb0ef41Sopenharmony_ci "port": "", 72421cb0ef41Sopenharmony_ci "pathname": "", 72431cb0ef41Sopenharmony_ci "search": "", 72441cb0ef41Sopenharmony_ci "hash": "" 72451cb0ef41Sopenharmony_ci }, 72461cb0ef41Sopenharmony_ci { 72471cb0ef41Sopenharmony_ci "input": "sc://#", 72481cb0ef41Sopenharmony_ci "base": null, 72491cb0ef41Sopenharmony_ci "href": "sc://#", 72501cb0ef41Sopenharmony_ci "protocol": "sc:", 72511cb0ef41Sopenharmony_ci "username": "", 72521cb0ef41Sopenharmony_ci "password": "", 72531cb0ef41Sopenharmony_ci "host": "", 72541cb0ef41Sopenharmony_ci "hostname": "", 72551cb0ef41Sopenharmony_ci "port": "", 72561cb0ef41Sopenharmony_ci "pathname": "", 72571cb0ef41Sopenharmony_ci "search": "", 72581cb0ef41Sopenharmony_ci "hash": "" 72591cb0ef41Sopenharmony_ci }, 72601cb0ef41Sopenharmony_ci { 72611cb0ef41Sopenharmony_ci "input": "///", 72621cb0ef41Sopenharmony_ci "base": "sc://x/", 72631cb0ef41Sopenharmony_ci "href": "sc:///", 72641cb0ef41Sopenharmony_ci "protocol": "sc:", 72651cb0ef41Sopenharmony_ci "username": "", 72661cb0ef41Sopenharmony_ci "password": "", 72671cb0ef41Sopenharmony_ci "host": "", 72681cb0ef41Sopenharmony_ci "hostname": "", 72691cb0ef41Sopenharmony_ci "port": "", 72701cb0ef41Sopenharmony_ci "pathname": "/", 72711cb0ef41Sopenharmony_ci "search": "", 72721cb0ef41Sopenharmony_ci "hash": "" 72731cb0ef41Sopenharmony_ci }, 72741cb0ef41Sopenharmony_ci { 72751cb0ef41Sopenharmony_ci "input": "////", 72761cb0ef41Sopenharmony_ci "base": "sc://x/", 72771cb0ef41Sopenharmony_ci "href": "sc:////", 72781cb0ef41Sopenharmony_ci "protocol": "sc:", 72791cb0ef41Sopenharmony_ci "username": "", 72801cb0ef41Sopenharmony_ci "password": "", 72811cb0ef41Sopenharmony_ci "host": "", 72821cb0ef41Sopenharmony_ci "hostname": "", 72831cb0ef41Sopenharmony_ci "port": "", 72841cb0ef41Sopenharmony_ci "pathname": "//", 72851cb0ef41Sopenharmony_ci "search": "", 72861cb0ef41Sopenharmony_ci "hash": "" 72871cb0ef41Sopenharmony_ci }, 72881cb0ef41Sopenharmony_ci { 72891cb0ef41Sopenharmony_ci "input": "////x/", 72901cb0ef41Sopenharmony_ci "base": "sc://x/", 72911cb0ef41Sopenharmony_ci "href": "sc:////x/", 72921cb0ef41Sopenharmony_ci "protocol": "sc:", 72931cb0ef41Sopenharmony_ci "username": "", 72941cb0ef41Sopenharmony_ci "password": "", 72951cb0ef41Sopenharmony_ci "host": "", 72961cb0ef41Sopenharmony_ci "hostname": "", 72971cb0ef41Sopenharmony_ci "port": "", 72981cb0ef41Sopenharmony_ci "pathname": "//x/", 72991cb0ef41Sopenharmony_ci "search": "", 73001cb0ef41Sopenharmony_ci "hash": "" 73011cb0ef41Sopenharmony_ci }, 73021cb0ef41Sopenharmony_ci { 73031cb0ef41Sopenharmony_ci "input": "tftp://foobar.com/someconfig;mode=netascii", 73041cb0ef41Sopenharmony_ci "base": null, 73051cb0ef41Sopenharmony_ci "href": "tftp://foobar.com/someconfig;mode=netascii", 73061cb0ef41Sopenharmony_ci "origin": "null", 73071cb0ef41Sopenharmony_ci "protocol": "tftp:", 73081cb0ef41Sopenharmony_ci "username": "", 73091cb0ef41Sopenharmony_ci "password": "", 73101cb0ef41Sopenharmony_ci "host": "foobar.com", 73111cb0ef41Sopenharmony_ci "hostname": "foobar.com", 73121cb0ef41Sopenharmony_ci "port": "", 73131cb0ef41Sopenharmony_ci "pathname": "/someconfig;mode=netascii", 73141cb0ef41Sopenharmony_ci "search": "", 73151cb0ef41Sopenharmony_ci "hash": "" 73161cb0ef41Sopenharmony_ci }, 73171cb0ef41Sopenharmony_ci { 73181cb0ef41Sopenharmony_ci "input": "telnet://user:pass@foobar.com:23/", 73191cb0ef41Sopenharmony_ci "base": null, 73201cb0ef41Sopenharmony_ci "href": "telnet://user:pass@foobar.com:23/", 73211cb0ef41Sopenharmony_ci "origin": "null", 73221cb0ef41Sopenharmony_ci "protocol": "telnet:", 73231cb0ef41Sopenharmony_ci "username": "user", 73241cb0ef41Sopenharmony_ci "password": "pass", 73251cb0ef41Sopenharmony_ci "host": "foobar.com:23", 73261cb0ef41Sopenharmony_ci "hostname": "foobar.com", 73271cb0ef41Sopenharmony_ci "port": "23", 73281cb0ef41Sopenharmony_ci "pathname": "/", 73291cb0ef41Sopenharmony_ci "search": "", 73301cb0ef41Sopenharmony_ci "hash": "" 73311cb0ef41Sopenharmony_ci }, 73321cb0ef41Sopenharmony_ci { 73331cb0ef41Sopenharmony_ci "input": "ut2004://10.10.10.10:7777/Index.ut2", 73341cb0ef41Sopenharmony_ci "base": null, 73351cb0ef41Sopenharmony_ci "href": "ut2004://10.10.10.10:7777/Index.ut2", 73361cb0ef41Sopenharmony_ci "origin": "null", 73371cb0ef41Sopenharmony_ci "protocol": "ut2004:", 73381cb0ef41Sopenharmony_ci "username": "", 73391cb0ef41Sopenharmony_ci "password": "", 73401cb0ef41Sopenharmony_ci "host": "10.10.10.10:7777", 73411cb0ef41Sopenharmony_ci "hostname": "10.10.10.10", 73421cb0ef41Sopenharmony_ci "port": "7777", 73431cb0ef41Sopenharmony_ci "pathname": "/Index.ut2", 73441cb0ef41Sopenharmony_ci "search": "", 73451cb0ef41Sopenharmony_ci "hash": "" 73461cb0ef41Sopenharmony_ci }, 73471cb0ef41Sopenharmony_ci { 73481cb0ef41Sopenharmony_ci "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", 73491cb0ef41Sopenharmony_ci "base": null, 73501cb0ef41Sopenharmony_ci "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", 73511cb0ef41Sopenharmony_ci "origin": "null", 73521cb0ef41Sopenharmony_ci "protocol": "redis:", 73531cb0ef41Sopenharmony_ci "username": "foo", 73541cb0ef41Sopenharmony_ci "password": "bar", 73551cb0ef41Sopenharmony_ci "host": "somehost:6379", 73561cb0ef41Sopenharmony_ci "hostname": "somehost", 73571cb0ef41Sopenharmony_ci "port": "6379", 73581cb0ef41Sopenharmony_ci "pathname": "/0", 73591cb0ef41Sopenharmony_ci "search": "?baz=bam&qux=baz", 73601cb0ef41Sopenharmony_ci "hash": "" 73611cb0ef41Sopenharmony_ci }, 73621cb0ef41Sopenharmony_ci { 73631cb0ef41Sopenharmony_ci "input": "rsync://foo@host:911/sup", 73641cb0ef41Sopenharmony_ci "base": null, 73651cb0ef41Sopenharmony_ci "href": "rsync://foo@host:911/sup", 73661cb0ef41Sopenharmony_ci "origin": "null", 73671cb0ef41Sopenharmony_ci "protocol": "rsync:", 73681cb0ef41Sopenharmony_ci "username": "foo", 73691cb0ef41Sopenharmony_ci "password": "", 73701cb0ef41Sopenharmony_ci "host": "host:911", 73711cb0ef41Sopenharmony_ci "hostname": "host", 73721cb0ef41Sopenharmony_ci "port": "911", 73731cb0ef41Sopenharmony_ci "pathname": "/sup", 73741cb0ef41Sopenharmony_ci "search": "", 73751cb0ef41Sopenharmony_ci "hash": "" 73761cb0ef41Sopenharmony_ci }, 73771cb0ef41Sopenharmony_ci { 73781cb0ef41Sopenharmony_ci "input": "git://github.com/foo/bar.git", 73791cb0ef41Sopenharmony_ci "base": null, 73801cb0ef41Sopenharmony_ci "href": "git://github.com/foo/bar.git", 73811cb0ef41Sopenharmony_ci "origin": "null", 73821cb0ef41Sopenharmony_ci "protocol": "git:", 73831cb0ef41Sopenharmony_ci "username": "", 73841cb0ef41Sopenharmony_ci "password": "", 73851cb0ef41Sopenharmony_ci "host": "github.com", 73861cb0ef41Sopenharmony_ci "hostname": "github.com", 73871cb0ef41Sopenharmony_ci "port": "", 73881cb0ef41Sopenharmony_ci "pathname": "/foo/bar.git", 73891cb0ef41Sopenharmony_ci "search": "", 73901cb0ef41Sopenharmony_ci "hash": "" 73911cb0ef41Sopenharmony_ci }, 73921cb0ef41Sopenharmony_ci { 73931cb0ef41Sopenharmony_ci "input": "irc://myserver.com:6999/channel?passwd", 73941cb0ef41Sopenharmony_ci "base": null, 73951cb0ef41Sopenharmony_ci "href": "irc://myserver.com:6999/channel?passwd", 73961cb0ef41Sopenharmony_ci "origin": "null", 73971cb0ef41Sopenharmony_ci "protocol": "irc:", 73981cb0ef41Sopenharmony_ci "username": "", 73991cb0ef41Sopenharmony_ci "password": "", 74001cb0ef41Sopenharmony_ci "host": "myserver.com:6999", 74011cb0ef41Sopenharmony_ci "hostname": "myserver.com", 74021cb0ef41Sopenharmony_ci "port": "6999", 74031cb0ef41Sopenharmony_ci "pathname": "/channel", 74041cb0ef41Sopenharmony_ci "search": "?passwd", 74051cb0ef41Sopenharmony_ci "hash": "" 74061cb0ef41Sopenharmony_ci }, 74071cb0ef41Sopenharmony_ci { 74081cb0ef41Sopenharmony_ci "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT", 74091cb0ef41Sopenharmony_ci "base": null, 74101cb0ef41Sopenharmony_ci "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT", 74111cb0ef41Sopenharmony_ci "origin": "null", 74121cb0ef41Sopenharmony_ci "protocol": "dns:", 74131cb0ef41Sopenharmony_ci "username": "", 74141cb0ef41Sopenharmony_ci "password": "", 74151cb0ef41Sopenharmony_ci "host": "fw.example.org:9999", 74161cb0ef41Sopenharmony_ci "hostname": "fw.example.org", 74171cb0ef41Sopenharmony_ci "port": "9999", 74181cb0ef41Sopenharmony_ci "pathname": "/foo.bar.org", 74191cb0ef41Sopenharmony_ci "search": "?type=TXT", 74201cb0ef41Sopenharmony_ci "hash": "" 74211cb0ef41Sopenharmony_ci }, 74221cb0ef41Sopenharmony_ci { 74231cb0ef41Sopenharmony_ci "input": "ldap://localhost:389/ou=People,o=JNDITutorial", 74241cb0ef41Sopenharmony_ci "base": null, 74251cb0ef41Sopenharmony_ci "href": "ldap://localhost:389/ou=People,o=JNDITutorial", 74261cb0ef41Sopenharmony_ci "origin": "null", 74271cb0ef41Sopenharmony_ci "protocol": "ldap:", 74281cb0ef41Sopenharmony_ci "username": "", 74291cb0ef41Sopenharmony_ci "password": "", 74301cb0ef41Sopenharmony_ci "host": "localhost:389", 74311cb0ef41Sopenharmony_ci "hostname": "localhost", 74321cb0ef41Sopenharmony_ci "port": "389", 74331cb0ef41Sopenharmony_ci "pathname": "/ou=People,o=JNDITutorial", 74341cb0ef41Sopenharmony_ci "search": "", 74351cb0ef41Sopenharmony_ci "hash": "" 74361cb0ef41Sopenharmony_ci }, 74371cb0ef41Sopenharmony_ci { 74381cb0ef41Sopenharmony_ci "input": "git+https://github.com/foo/bar", 74391cb0ef41Sopenharmony_ci "base": null, 74401cb0ef41Sopenharmony_ci "href": "git+https://github.com/foo/bar", 74411cb0ef41Sopenharmony_ci "origin": "null", 74421cb0ef41Sopenharmony_ci "protocol": "git+https:", 74431cb0ef41Sopenharmony_ci "username": "", 74441cb0ef41Sopenharmony_ci "password": "", 74451cb0ef41Sopenharmony_ci "host": "github.com", 74461cb0ef41Sopenharmony_ci "hostname": "github.com", 74471cb0ef41Sopenharmony_ci "port": "", 74481cb0ef41Sopenharmony_ci "pathname": "/foo/bar", 74491cb0ef41Sopenharmony_ci "search": "", 74501cb0ef41Sopenharmony_ci "hash": "" 74511cb0ef41Sopenharmony_ci }, 74521cb0ef41Sopenharmony_ci { 74531cb0ef41Sopenharmony_ci "input": "urn:ietf:rfc:2648", 74541cb0ef41Sopenharmony_ci "base": null, 74551cb0ef41Sopenharmony_ci "href": "urn:ietf:rfc:2648", 74561cb0ef41Sopenharmony_ci "origin": "null", 74571cb0ef41Sopenharmony_ci "protocol": "urn:", 74581cb0ef41Sopenharmony_ci "username": "", 74591cb0ef41Sopenharmony_ci "password": "", 74601cb0ef41Sopenharmony_ci "host": "", 74611cb0ef41Sopenharmony_ci "hostname": "", 74621cb0ef41Sopenharmony_ci "port": "", 74631cb0ef41Sopenharmony_ci "pathname": "ietf:rfc:2648", 74641cb0ef41Sopenharmony_ci "search": "", 74651cb0ef41Sopenharmony_ci "hash": "" 74661cb0ef41Sopenharmony_ci }, 74671cb0ef41Sopenharmony_ci { 74681cb0ef41Sopenharmony_ci "input": "tag:joe@example.org,2001:foo/bar", 74691cb0ef41Sopenharmony_ci "base": null, 74701cb0ef41Sopenharmony_ci "href": "tag:joe@example.org,2001:foo/bar", 74711cb0ef41Sopenharmony_ci "origin": "null", 74721cb0ef41Sopenharmony_ci "protocol": "tag:", 74731cb0ef41Sopenharmony_ci "username": "", 74741cb0ef41Sopenharmony_ci "password": "", 74751cb0ef41Sopenharmony_ci "host": "", 74761cb0ef41Sopenharmony_ci "hostname": "", 74771cb0ef41Sopenharmony_ci "port": "", 74781cb0ef41Sopenharmony_ci "pathname": "joe@example.org,2001:foo/bar", 74791cb0ef41Sopenharmony_ci "search": "", 74801cb0ef41Sopenharmony_ci "hash": "" 74811cb0ef41Sopenharmony_ci }, 74821cb0ef41Sopenharmony_ci "Serialize /. in path", 74831cb0ef41Sopenharmony_ci { 74841cb0ef41Sopenharmony_ci "input": "non-spec:/.//", 74851cb0ef41Sopenharmony_ci "base": null, 74861cb0ef41Sopenharmony_ci "href": "non-spec:/.//", 74871cb0ef41Sopenharmony_ci "protocol": "non-spec:", 74881cb0ef41Sopenharmony_ci "username": "", 74891cb0ef41Sopenharmony_ci "password": "", 74901cb0ef41Sopenharmony_ci "host": "", 74911cb0ef41Sopenharmony_ci "hostname": "", 74921cb0ef41Sopenharmony_ci "port": "", 74931cb0ef41Sopenharmony_ci "pathname": "//", 74941cb0ef41Sopenharmony_ci "search": "", 74951cb0ef41Sopenharmony_ci "hash": "" 74961cb0ef41Sopenharmony_ci }, 74971cb0ef41Sopenharmony_ci { 74981cb0ef41Sopenharmony_ci "input": "non-spec:/..//", 74991cb0ef41Sopenharmony_ci "base": null, 75001cb0ef41Sopenharmony_ci "href": "non-spec:/.//", 75011cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75021cb0ef41Sopenharmony_ci "username": "", 75031cb0ef41Sopenharmony_ci "password": "", 75041cb0ef41Sopenharmony_ci "host": "", 75051cb0ef41Sopenharmony_ci "hostname": "", 75061cb0ef41Sopenharmony_ci "port": "", 75071cb0ef41Sopenharmony_ci "pathname": "//", 75081cb0ef41Sopenharmony_ci "search": "", 75091cb0ef41Sopenharmony_ci "hash": "" 75101cb0ef41Sopenharmony_ci }, 75111cb0ef41Sopenharmony_ci { 75121cb0ef41Sopenharmony_ci "input": "non-spec:/a/..//", 75131cb0ef41Sopenharmony_ci "base": null, 75141cb0ef41Sopenharmony_ci "href": "non-spec:/.//", 75151cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75161cb0ef41Sopenharmony_ci "username": "", 75171cb0ef41Sopenharmony_ci "password": "", 75181cb0ef41Sopenharmony_ci "host": "", 75191cb0ef41Sopenharmony_ci "hostname": "", 75201cb0ef41Sopenharmony_ci "port": "", 75211cb0ef41Sopenharmony_ci "pathname": "//", 75221cb0ef41Sopenharmony_ci "search": "", 75231cb0ef41Sopenharmony_ci "hash": "" 75241cb0ef41Sopenharmony_ci }, 75251cb0ef41Sopenharmony_ci { 75261cb0ef41Sopenharmony_ci "input": "non-spec:/.//path", 75271cb0ef41Sopenharmony_ci "base": null, 75281cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75291cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75301cb0ef41Sopenharmony_ci "username": "", 75311cb0ef41Sopenharmony_ci "password": "", 75321cb0ef41Sopenharmony_ci "host": "", 75331cb0ef41Sopenharmony_ci "hostname": "", 75341cb0ef41Sopenharmony_ci "port": "", 75351cb0ef41Sopenharmony_ci "pathname": "//path", 75361cb0ef41Sopenharmony_ci "search": "", 75371cb0ef41Sopenharmony_ci "hash": "" 75381cb0ef41Sopenharmony_ci }, 75391cb0ef41Sopenharmony_ci { 75401cb0ef41Sopenharmony_ci "input": "non-spec:/..//path", 75411cb0ef41Sopenharmony_ci "base": null, 75421cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75431cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75441cb0ef41Sopenharmony_ci "username": "", 75451cb0ef41Sopenharmony_ci "password": "", 75461cb0ef41Sopenharmony_ci "host": "", 75471cb0ef41Sopenharmony_ci "hostname": "", 75481cb0ef41Sopenharmony_ci "port": "", 75491cb0ef41Sopenharmony_ci "pathname": "//path", 75501cb0ef41Sopenharmony_ci "search": "", 75511cb0ef41Sopenharmony_ci "hash": "" 75521cb0ef41Sopenharmony_ci }, 75531cb0ef41Sopenharmony_ci { 75541cb0ef41Sopenharmony_ci "input": "non-spec:/a/..//path", 75551cb0ef41Sopenharmony_ci "base": null, 75561cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75571cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75581cb0ef41Sopenharmony_ci "username": "", 75591cb0ef41Sopenharmony_ci "password": "", 75601cb0ef41Sopenharmony_ci "host": "", 75611cb0ef41Sopenharmony_ci "hostname": "", 75621cb0ef41Sopenharmony_ci "port": "", 75631cb0ef41Sopenharmony_ci "pathname": "//path", 75641cb0ef41Sopenharmony_ci "search": "", 75651cb0ef41Sopenharmony_ci "hash": "" 75661cb0ef41Sopenharmony_ci }, 75671cb0ef41Sopenharmony_ci { 75681cb0ef41Sopenharmony_ci "input": "/.//path", 75691cb0ef41Sopenharmony_ci "base": "non-spec:/p", 75701cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75711cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75721cb0ef41Sopenharmony_ci "username": "", 75731cb0ef41Sopenharmony_ci "password": "", 75741cb0ef41Sopenharmony_ci "host": "", 75751cb0ef41Sopenharmony_ci "hostname": "", 75761cb0ef41Sopenharmony_ci "port": "", 75771cb0ef41Sopenharmony_ci "pathname": "//path", 75781cb0ef41Sopenharmony_ci "search": "", 75791cb0ef41Sopenharmony_ci "hash": "" 75801cb0ef41Sopenharmony_ci }, 75811cb0ef41Sopenharmony_ci { 75821cb0ef41Sopenharmony_ci "input": "/..//path", 75831cb0ef41Sopenharmony_ci "base": "non-spec:/p", 75841cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75851cb0ef41Sopenharmony_ci "protocol": "non-spec:", 75861cb0ef41Sopenharmony_ci "username": "", 75871cb0ef41Sopenharmony_ci "password": "", 75881cb0ef41Sopenharmony_ci "host": "", 75891cb0ef41Sopenharmony_ci "hostname": "", 75901cb0ef41Sopenharmony_ci "port": "", 75911cb0ef41Sopenharmony_ci "pathname": "//path", 75921cb0ef41Sopenharmony_ci "search": "", 75931cb0ef41Sopenharmony_ci "hash": "" 75941cb0ef41Sopenharmony_ci }, 75951cb0ef41Sopenharmony_ci { 75961cb0ef41Sopenharmony_ci "input": "..//path", 75971cb0ef41Sopenharmony_ci "base": "non-spec:/p", 75981cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 75991cb0ef41Sopenharmony_ci "protocol": "non-spec:", 76001cb0ef41Sopenharmony_ci "username": "", 76011cb0ef41Sopenharmony_ci "password": "", 76021cb0ef41Sopenharmony_ci "host": "", 76031cb0ef41Sopenharmony_ci "hostname": "", 76041cb0ef41Sopenharmony_ci "port": "", 76051cb0ef41Sopenharmony_ci "pathname": "//path", 76061cb0ef41Sopenharmony_ci "search": "", 76071cb0ef41Sopenharmony_ci "hash": "" 76081cb0ef41Sopenharmony_ci }, 76091cb0ef41Sopenharmony_ci { 76101cb0ef41Sopenharmony_ci "input": "a/..//path", 76111cb0ef41Sopenharmony_ci "base": "non-spec:/p", 76121cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 76131cb0ef41Sopenharmony_ci "protocol": "non-spec:", 76141cb0ef41Sopenharmony_ci "username": "", 76151cb0ef41Sopenharmony_ci "password": "", 76161cb0ef41Sopenharmony_ci "host": "", 76171cb0ef41Sopenharmony_ci "hostname": "", 76181cb0ef41Sopenharmony_ci "port": "", 76191cb0ef41Sopenharmony_ci "pathname": "//path", 76201cb0ef41Sopenharmony_ci "search": "", 76211cb0ef41Sopenharmony_ci "hash": "" 76221cb0ef41Sopenharmony_ci }, 76231cb0ef41Sopenharmony_ci { 76241cb0ef41Sopenharmony_ci "input": "", 76251cb0ef41Sopenharmony_ci "base": "non-spec:/..//p", 76261cb0ef41Sopenharmony_ci "href": "non-spec:/.//p", 76271cb0ef41Sopenharmony_ci "protocol": "non-spec:", 76281cb0ef41Sopenharmony_ci "username": "", 76291cb0ef41Sopenharmony_ci "password": "", 76301cb0ef41Sopenharmony_ci "host": "", 76311cb0ef41Sopenharmony_ci "hostname": "", 76321cb0ef41Sopenharmony_ci "port": "", 76331cb0ef41Sopenharmony_ci "pathname": "//p", 76341cb0ef41Sopenharmony_ci "search": "", 76351cb0ef41Sopenharmony_ci "hash": "" 76361cb0ef41Sopenharmony_ci }, 76371cb0ef41Sopenharmony_ci { 76381cb0ef41Sopenharmony_ci "input": "path", 76391cb0ef41Sopenharmony_ci "base": "non-spec:/..//p", 76401cb0ef41Sopenharmony_ci "href": "non-spec:/.//path", 76411cb0ef41Sopenharmony_ci "protocol": "non-spec:", 76421cb0ef41Sopenharmony_ci "username": "", 76431cb0ef41Sopenharmony_ci "password": "", 76441cb0ef41Sopenharmony_ci "host": "", 76451cb0ef41Sopenharmony_ci "hostname": "", 76461cb0ef41Sopenharmony_ci "port": "", 76471cb0ef41Sopenharmony_ci "pathname": "//path", 76481cb0ef41Sopenharmony_ci "search": "", 76491cb0ef41Sopenharmony_ci "hash": "" 76501cb0ef41Sopenharmony_ci }, 76511cb0ef41Sopenharmony_ci "Do not serialize /. in path", 76521cb0ef41Sopenharmony_ci { 76531cb0ef41Sopenharmony_ci "input": "../path", 76541cb0ef41Sopenharmony_ci "base": "non-spec:/.//p", 76551cb0ef41Sopenharmony_ci "href": "non-spec:/path", 76561cb0ef41Sopenharmony_ci "protocol": "non-spec:", 76571cb0ef41Sopenharmony_ci "username": "", 76581cb0ef41Sopenharmony_ci "password": "", 76591cb0ef41Sopenharmony_ci "host": "", 76601cb0ef41Sopenharmony_ci "hostname": "", 76611cb0ef41Sopenharmony_ci "port": "", 76621cb0ef41Sopenharmony_ci "pathname": "/path", 76631cb0ef41Sopenharmony_ci "search": "", 76641cb0ef41Sopenharmony_ci "hash": "" 76651cb0ef41Sopenharmony_ci }, 76661cb0ef41Sopenharmony_ci "# percent encoded hosts in non-special-URLs", 76671cb0ef41Sopenharmony_ci { 76681cb0ef41Sopenharmony_ci "input": "non-special://%E2%80%A0/", 76691cb0ef41Sopenharmony_ci "base": null, 76701cb0ef41Sopenharmony_ci "href": "non-special://%E2%80%A0/", 76711cb0ef41Sopenharmony_ci "protocol": "non-special:", 76721cb0ef41Sopenharmony_ci "username": "", 76731cb0ef41Sopenharmony_ci "password": "", 76741cb0ef41Sopenharmony_ci "host": "%E2%80%A0", 76751cb0ef41Sopenharmony_ci "hostname": "%E2%80%A0", 76761cb0ef41Sopenharmony_ci "port": "", 76771cb0ef41Sopenharmony_ci "pathname": "/", 76781cb0ef41Sopenharmony_ci "search": "", 76791cb0ef41Sopenharmony_ci "hash": "" 76801cb0ef41Sopenharmony_ci }, 76811cb0ef41Sopenharmony_ci { 76821cb0ef41Sopenharmony_ci "input": "non-special://H%4fSt/path", 76831cb0ef41Sopenharmony_ci "base": null, 76841cb0ef41Sopenharmony_ci "href": "non-special://H%4fSt/path", 76851cb0ef41Sopenharmony_ci "protocol": "non-special:", 76861cb0ef41Sopenharmony_ci "username": "", 76871cb0ef41Sopenharmony_ci "password": "", 76881cb0ef41Sopenharmony_ci "host": "H%4fSt", 76891cb0ef41Sopenharmony_ci "hostname": "H%4fSt", 76901cb0ef41Sopenharmony_ci "port": "", 76911cb0ef41Sopenharmony_ci "pathname": "/path", 76921cb0ef41Sopenharmony_ci "search": "", 76931cb0ef41Sopenharmony_ci "hash": "" 76941cb0ef41Sopenharmony_ci }, 76951cb0ef41Sopenharmony_ci "# IPv6 in non-special-URLs", 76961cb0ef41Sopenharmony_ci { 76971cb0ef41Sopenharmony_ci "input": "non-special://[1:2:0:0:5:0:0:0]/", 76981cb0ef41Sopenharmony_ci "base": null, 76991cb0ef41Sopenharmony_ci "href": "non-special://[1:2:0:0:5::]/", 77001cb0ef41Sopenharmony_ci "protocol": "non-special:", 77011cb0ef41Sopenharmony_ci "username": "", 77021cb0ef41Sopenharmony_ci "password": "", 77031cb0ef41Sopenharmony_ci "host": "[1:2:0:0:5::]", 77041cb0ef41Sopenharmony_ci "hostname": "[1:2:0:0:5::]", 77051cb0ef41Sopenharmony_ci "port": "", 77061cb0ef41Sopenharmony_ci "pathname": "/", 77071cb0ef41Sopenharmony_ci "search": "", 77081cb0ef41Sopenharmony_ci "hash": "" 77091cb0ef41Sopenharmony_ci }, 77101cb0ef41Sopenharmony_ci { 77111cb0ef41Sopenharmony_ci "input": "non-special://[1:2:0:0:0:0:0:3]/", 77121cb0ef41Sopenharmony_ci "base": null, 77131cb0ef41Sopenharmony_ci "href": "non-special://[1:2::3]/", 77141cb0ef41Sopenharmony_ci "protocol": "non-special:", 77151cb0ef41Sopenharmony_ci "username": "", 77161cb0ef41Sopenharmony_ci "password": "", 77171cb0ef41Sopenharmony_ci "host": "[1:2::3]", 77181cb0ef41Sopenharmony_ci "hostname": "[1:2::3]", 77191cb0ef41Sopenharmony_ci "port": "", 77201cb0ef41Sopenharmony_ci "pathname": "/", 77211cb0ef41Sopenharmony_ci "search": "", 77221cb0ef41Sopenharmony_ci "hash": "" 77231cb0ef41Sopenharmony_ci }, 77241cb0ef41Sopenharmony_ci { 77251cb0ef41Sopenharmony_ci "input": "non-special://[1:2::3]:80/", 77261cb0ef41Sopenharmony_ci "base": null, 77271cb0ef41Sopenharmony_ci "href": "non-special://[1:2::3]:80/", 77281cb0ef41Sopenharmony_ci "protocol": "non-special:", 77291cb0ef41Sopenharmony_ci "username": "", 77301cb0ef41Sopenharmony_ci "password": "", 77311cb0ef41Sopenharmony_ci "host": "[1:2::3]:80", 77321cb0ef41Sopenharmony_ci "hostname": "[1:2::3]", 77331cb0ef41Sopenharmony_ci "port": "80", 77341cb0ef41Sopenharmony_ci "pathname": "/", 77351cb0ef41Sopenharmony_ci "search": "", 77361cb0ef41Sopenharmony_ci "hash": "" 77371cb0ef41Sopenharmony_ci }, 77381cb0ef41Sopenharmony_ci { 77391cb0ef41Sopenharmony_ci "input": "non-special://[:80/", 77401cb0ef41Sopenharmony_ci "base": null, 77411cb0ef41Sopenharmony_ci "failure": true 77421cb0ef41Sopenharmony_ci }, 77431cb0ef41Sopenharmony_ci { 77441cb0ef41Sopenharmony_ci "input": "blob:https://example.com:443/", 77451cb0ef41Sopenharmony_ci "base": null, 77461cb0ef41Sopenharmony_ci "href": "blob:https://example.com:443/", 77471cb0ef41Sopenharmony_ci "origin": "https://example.com", 77481cb0ef41Sopenharmony_ci "protocol": "blob:", 77491cb0ef41Sopenharmony_ci "username": "", 77501cb0ef41Sopenharmony_ci "password": "", 77511cb0ef41Sopenharmony_ci "host": "", 77521cb0ef41Sopenharmony_ci "hostname": "", 77531cb0ef41Sopenharmony_ci "port": "", 77541cb0ef41Sopenharmony_ci "pathname": "https://example.com:443/", 77551cb0ef41Sopenharmony_ci "search": "", 77561cb0ef41Sopenharmony_ci "hash": "" 77571cb0ef41Sopenharmony_ci }, 77581cb0ef41Sopenharmony_ci { 77591cb0ef41Sopenharmony_ci "input": "blob:http://example.org:88/", 77601cb0ef41Sopenharmony_ci "base": null, 77611cb0ef41Sopenharmony_ci "href": "blob:http://example.org:88/", 77621cb0ef41Sopenharmony_ci "origin": "http://example.org:88", 77631cb0ef41Sopenharmony_ci "protocol": "blob:", 77641cb0ef41Sopenharmony_ci "username": "", 77651cb0ef41Sopenharmony_ci "password": "", 77661cb0ef41Sopenharmony_ci "host": "", 77671cb0ef41Sopenharmony_ci "hostname": "", 77681cb0ef41Sopenharmony_ci "port": "", 77691cb0ef41Sopenharmony_ci "pathname": "http://example.org:88/", 77701cb0ef41Sopenharmony_ci "search": "", 77711cb0ef41Sopenharmony_ci "hash": "" 77721cb0ef41Sopenharmony_ci }, 77731cb0ef41Sopenharmony_ci { 77741cb0ef41Sopenharmony_ci "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf", 77751cb0ef41Sopenharmony_ci "base": null, 77761cb0ef41Sopenharmony_ci "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf", 77771cb0ef41Sopenharmony_ci "origin": "null", 77781cb0ef41Sopenharmony_ci "protocol": "blob:", 77791cb0ef41Sopenharmony_ci "username": "", 77801cb0ef41Sopenharmony_ci "password": "", 77811cb0ef41Sopenharmony_ci "host": "", 77821cb0ef41Sopenharmony_ci "hostname": "", 77831cb0ef41Sopenharmony_ci "port": "", 77841cb0ef41Sopenharmony_ci "pathname": "d3958f5c-0777-0845-9dcf-2cb28783acaf", 77851cb0ef41Sopenharmony_ci "search": "", 77861cb0ef41Sopenharmony_ci "hash": "" 77871cb0ef41Sopenharmony_ci }, 77881cb0ef41Sopenharmony_ci { 77891cb0ef41Sopenharmony_ci "input": "blob:", 77901cb0ef41Sopenharmony_ci "base": null, 77911cb0ef41Sopenharmony_ci "href": "blob:", 77921cb0ef41Sopenharmony_ci "origin": "null", 77931cb0ef41Sopenharmony_ci "protocol": "blob:", 77941cb0ef41Sopenharmony_ci "username": "", 77951cb0ef41Sopenharmony_ci "password": "", 77961cb0ef41Sopenharmony_ci "host": "", 77971cb0ef41Sopenharmony_ci "hostname": "", 77981cb0ef41Sopenharmony_ci "port": "", 77991cb0ef41Sopenharmony_ci "pathname": "", 78001cb0ef41Sopenharmony_ci "search": "", 78011cb0ef41Sopenharmony_ci "hash": "" 78021cb0ef41Sopenharmony_ci }, 78031cb0ef41Sopenharmony_ci "blob: in blob:", 78041cb0ef41Sopenharmony_ci { 78051cb0ef41Sopenharmony_ci "input": "blob:blob:", 78061cb0ef41Sopenharmony_ci "base": null, 78071cb0ef41Sopenharmony_ci "href": "blob:blob:", 78081cb0ef41Sopenharmony_ci "origin": "null", 78091cb0ef41Sopenharmony_ci "protocol": "blob:", 78101cb0ef41Sopenharmony_ci "username": "", 78111cb0ef41Sopenharmony_ci "password": "", 78121cb0ef41Sopenharmony_ci "host": "", 78131cb0ef41Sopenharmony_ci "hostname": "", 78141cb0ef41Sopenharmony_ci "port": "", 78151cb0ef41Sopenharmony_ci "pathname": "blob:", 78161cb0ef41Sopenharmony_ci "search": "", 78171cb0ef41Sopenharmony_ci "hash": "" 78181cb0ef41Sopenharmony_ci }, 78191cb0ef41Sopenharmony_ci { 78201cb0ef41Sopenharmony_ci "input": "blob:blob:https://example.org/", 78211cb0ef41Sopenharmony_ci "base": null, 78221cb0ef41Sopenharmony_ci "href": "blob:blob:https://example.org/", 78231cb0ef41Sopenharmony_ci "origin": "null", 78241cb0ef41Sopenharmony_ci "protocol": "blob:", 78251cb0ef41Sopenharmony_ci "username": "", 78261cb0ef41Sopenharmony_ci "password": "", 78271cb0ef41Sopenharmony_ci "host": "", 78281cb0ef41Sopenharmony_ci "hostname": "", 78291cb0ef41Sopenharmony_ci "port": "", 78301cb0ef41Sopenharmony_ci "pathname": "blob:https://example.org/", 78311cb0ef41Sopenharmony_ci "search": "", 78321cb0ef41Sopenharmony_ci "hash": "" 78331cb0ef41Sopenharmony_ci }, 78341cb0ef41Sopenharmony_ci "Non-http(s): in blob:", 78351cb0ef41Sopenharmony_ci { 78361cb0ef41Sopenharmony_ci "input": "blob:about:blank", 78371cb0ef41Sopenharmony_ci "base": null, 78381cb0ef41Sopenharmony_ci "href": "blob:about:blank", 78391cb0ef41Sopenharmony_ci "origin": "null", 78401cb0ef41Sopenharmony_ci "protocol": "blob:", 78411cb0ef41Sopenharmony_ci "username": "", 78421cb0ef41Sopenharmony_ci "password": "", 78431cb0ef41Sopenharmony_ci "host": "", 78441cb0ef41Sopenharmony_ci "hostname": "", 78451cb0ef41Sopenharmony_ci "port": "", 78461cb0ef41Sopenharmony_ci "pathname": "about:blank", 78471cb0ef41Sopenharmony_ci "search": "", 78481cb0ef41Sopenharmony_ci "hash": "" 78491cb0ef41Sopenharmony_ci }, 78501cb0ef41Sopenharmony_ci { 78511cb0ef41Sopenharmony_ci "input": "blob:file://host/path", 78521cb0ef41Sopenharmony_ci "base": null, 78531cb0ef41Sopenharmony_ci "href": "blob:file://host/path", 78541cb0ef41Sopenharmony_ci "origin": "null", 78551cb0ef41Sopenharmony_ci "protocol": "blob:", 78561cb0ef41Sopenharmony_ci "username": "", 78571cb0ef41Sopenharmony_ci "password": "", 78581cb0ef41Sopenharmony_ci "host": "", 78591cb0ef41Sopenharmony_ci "hostname": "", 78601cb0ef41Sopenharmony_ci "port": "", 78611cb0ef41Sopenharmony_ci "pathname": "file://host/path", 78621cb0ef41Sopenharmony_ci "search": "", 78631cb0ef41Sopenharmony_ci "hash": "" 78641cb0ef41Sopenharmony_ci }, 78651cb0ef41Sopenharmony_ci { 78661cb0ef41Sopenharmony_ci "input": "blob:ftp://host/path", 78671cb0ef41Sopenharmony_ci "base": null, 78681cb0ef41Sopenharmony_ci "href": "blob:ftp://host/path", 78691cb0ef41Sopenharmony_ci "origin": "null", 78701cb0ef41Sopenharmony_ci "protocol": "blob:", 78711cb0ef41Sopenharmony_ci "username": "", 78721cb0ef41Sopenharmony_ci "password": "", 78731cb0ef41Sopenharmony_ci "host": "", 78741cb0ef41Sopenharmony_ci "hostname": "", 78751cb0ef41Sopenharmony_ci "port": "", 78761cb0ef41Sopenharmony_ci "pathname": "ftp://host/path", 78771cb0ef41Sopenharmony_ci "search": "", 78781cb0ef41Sopenharmony_ci "hash": "" 78791cb0ef41Sopenharmony_ci }, 78801cb0ef41Sopenharmony_ci { 78811cb0ef41Sopenharmony_ci "input": "blob:ws://example.org/", 78821cb0ef41Sopenharmony_ci "base": null, 78831cb0ef41Sopenharmony_ci "href": "blob:ws://example.org/", 78841cb0ef41Sopenharmony_ci "origin": "null", 78851cb0ef41Sopenharmony_ci "protocol": "blob:", 78861cb0ef41Sopenharmony_ci "username": "", 78871cb0ef41Sopenharmony_ci "password": "", 78881cb0ef41Sopenharmony_ci "host": "", 78891cb0ef41Sopenharmony_ci "hostname": "", 78901cb0ef41Sopenharmony_ci "port": "", 78911cb0ef41Sopenharmony_ci "pathname": "ws://example.org/", 78921cb0ef41Sopenharmony_ci "search": "", 78931cb0ef41Sopenharmony_ci "hash": "" 78941cb0ef41Sopenharmony_ci }, 78951cb0ef41Sopenharmony_ci { 78961cb0ef41Sopenharmony_ci "input": "blob:wss://example.org/", 78971cb0ef41Sopenharmony_ci "base": null, 78981cb0ef41Sopenharmony_ci "href": "blob:wss://example.org/", 78991cb0ef41Sopenharmony_ci "origin": "null", 79001cb0ef41Sopenharmony_ci "protocol": "blob:", 79011cb0ef41Sopenharmony_ci "username": "", 79021cb0ef41Sopenharmony_ci "password": "", 79031cb0ef41Sopenharmony_ci "host": "", 79041cb0ef41Sopenharmony_ci "hostname": "", 79051cb0ef41Sopenharmony_ci "port": "", 79061cb0ef41Sopenharmony_ci "pathname": "wss://example.org/", 79071cb0ef41Sopenharmony_ci "search": "", 79081cb0ef41Sopenharmony_ci "hash": "" 79091cb0ef41Sopenharmony_ci }, 79101cb0ef41Sopenharmony_ci "Percent-encoded http: in blob:", 79111cb0ef41Sopenharmony_ci { 79121cb0ef41Sopenharmony_ci "input": "blob:http%3a//example.org/", 79131cb0ef41Sopenharmony_ci "base": null, 79141cb0ef41Sopenharmony_ci "href": "blob:http%3a//example.org/", 79151cb0ef41Sopenharmony_ci "origin": "null", 79161cb0ef41Sopenharmony_ci "protocol": "blob:", 79171cb0ef41Sopenharmony_ci "username": "", 79181cb0ef41Sopenharmony_ci "password": "", 79191cb0ef41Sopenharmony_ci "host": "", 79201cb0ef41Sopenharmony_ci "hostname": "", 79211cb0ef41Sopenharmony_ci "port": "", 79221cb0ef41Sopenharmony_ci "pathname": "http%3a//example.org/", 79231cb0ef41Sopenharmony_ci "search": "", 79241cb0ef41Sopenharmony_ci "hash": "" 79251cb0ef41Sopenharmony_ci }, 79261cb0ef41Sopenharmony_ci "Invalid IPv4 radix digits", 79271cb0ef41Sopenharmony_ci { 79281cb0ef41Sopenharmony_ci "input": "http://0x7f.0.0.0x7g", 79291cb0ef41Sopenharmony_ci "base": null, 79301cb0ef41Sopenharmony_ci "href": "http://0x7f.0.0.0x7g/", 79311cb0ef41Sopenharmony_ci "protocol": "http:", 79321cb0ef41Sopenharmony_ci "username": "", 79331cb0ef41Sopenharmony_ci "password": "", 79341cb0ef41Sopenharmony_ci "host": "0x7f.0.0.0x7g", 79351cb0ef41Sopenharmony_ci "hostname": "0x7f.0.0.0x7g", 79361cb0ef41Sopenharmony_ci "port": "", 79371cb0ef41Sopenharmony_ci "pathname": "/", 79381cb0ef41Sopenharmony_ci "search": "", 79391cb0ef41Sopenharmony_ci "hash": "" 79401cb0ef41Sopenharmony_ci }, 79411cb0ef41Sopenharmony_ci { 79421cb0ef41Sopenharmony_ci "input": "http://0X7F.0.0.0X7G", 79431cb0ef41Sopenharmony_ci "base": null, 79441cb0ef41Sopenharmony_ci "href": "http://0x7f.0.0.0x7g/", 79451cb0ef41Sopenharmony_ci "protocol": "http:", 79461cb0ef41Sopenharmony_ci "username": "", 79471cb0ef41Sopenharmony_ci "password": "", 79481cb0ef41Sopenharmony_ci "host": "0x7f.0.0.0x7g", 79491cb0ef41Sopenharmony_ci "hostname": "0x7f.0.0.0x7g", 79501cb0ef41Sopenharmony_ci "port": "", 79511cb0ef41Sopenharmony_ci "pathname": "/", 79521cb0ef41Sopenharmony_ci "search": "", 79531cb0ef41Sopenharmony_ci "hash": "" 79541cb0ef41Sopenharmony_ci }, 79551cb0ef41Sopenharmony_ci "Invalid IPv4 portion of IPv6 address", 79561cb0ef41Sopenharmony_ci { 79571cb0ef41Sopenharmony_ci "input": "http://[::127.0.0.0.1]", 79581cb0ef41Sopenharmony_ci "base": null, 79591cb0ef41Sopenharmony_ci "failure": true 79601cb0ef41Sopenharmony_ci }, 79611cb0ef41Sopenharmony_ci "Uncompressed IPv6 addresses with 0", 79621cb0ef41Sopenharmony_ci { 79631cb0ef41Sopenharmony_ci "input": "http://[0:1:0:1:0:1:0:1]", 79641cb0ef41Sopenharmony_ci "base": null, 79651cb0ef41Sopenharmony_ci "href": "http://[0:1:0:1:0:1:0:1]/", 79661cb0ef41Sopenharmony_ci "protocol": "http:", 79671cb0ef41Sopenharmony_ci "username": "", 79681cb0ef41Sopenharmony_ci "password": "", 79691cb0ef41Sopenharmony_ci "host": "[0:1:0:1:0:1:0:1]", 79701cb0ef41Sopenharmony_ci "hostname": "[0:1:0:1:0:1:0:1]", 79711cb0ef41Sopenharmony_ci "port": "", 79721cb0ef41Sopenharmony_ci "pathname": "/", 79731cb0ef41Sopenharmony_ci "search": "", 79741cb0ef41Sopenharmony_ci "hash": "" 79751cb0ef41Sopenharmony_ci }, 79761cb0ef41Sopenharmony_ci { 79771cb0ef41Sopenharmony_ci "input": "http://[1:0:1:0:1:0:1:0]", 79781cb0ef41Sopenharmony_ci "base": null, 79791cb0ef41Sopenharmony_ci "href": "http://[1:0:1:0:1:0:1:0]/", 79801cb0ef41Sopenharmony_ci "protocol": "http:", 79811cb0ef41Sopenharmony_ci "username": "", 79821cb0ef41Sopenharmony_ci "password": "", 79831cb0ef41Sopenharmony_ci "host": "[1:0:1:0:1:0:1:0]", 79841cb0ef41Sopenharmony_ci "hostname": "[1:0:1:0:1:0:1:0]", 79851cb0ef41Sopenharmony_ci "port": "", 79861cb0ef41Sopenharmony_ci "pathname": "/", 79871cb0ef41Sopenharmony_ci "search": "", 79881cb0ef41Sopenharmony_ci "hash": "" 79891cb0ef41Sopenharmony_ci }, 79901cb0ef41Sopenharmony_ci "Percent-encoded query and fragment", 79911cb0ef41Sopenharmony_ci { 79921cb0ef41Sopenharmony_ci "input": "http://example.org/test?\u0022", 79931cb0ef41Sopenharmony_ci "base": null, 79941cb0ef41Sopenharmony_ci "href": "http://example.org/test?%22", 79951cb0ef41Sopenharmony_ci "protocol": "http:", 79961cb0ef41Sopenharmony_ci "username": "", 79971cb0ef41Sopenharmony_ci "password": "", 79981cb0ef41Sopenharmony_ci "host": "example.org", 79991cb0ef41Sopenharmony_ci "hostname": "example.org", 80001cb0ef41Sopenharmony_ci "port": "", 80011cb0ef41Sopenharmony_ci "pathname": "/test", 80021cb0ef41Sopenharmony_ci "search": "?%22", 80031cb0ef41Sopenharmony_ci "hash": "" 80041cb0ef41Sopenharmony_ci }, 80051cb0ef41Sopenharmony_ci { 80061cb0ef41Sopenharmony_ci "input": "http://example.org/test?\u0023", 80071cb0ef41Sopenharmony_ci "base": null, 80081cb0ef41Sopenharmony_ci "href": "http://example.org/test?#", 80091cb0ef41Sopenharmony_ci "protocol": "http:", 80101cb0ef41Sopenharmony_ci "username": "", 80111cb0ef41Sopenharmony_ci "password": "", 80121cb0ef41Sopenharmony_ci "host": "example.org", 80131cb0ef41Sopenharmony_ci "hostname": "example.org", 80141cb0ef41Sopenharmony_ci "port": "", 80151cb0ef41Sopenharmony_ci "pathname": "/test", 80161cb0ef41Sopenharmony_ci "search": "", 80171cb0ef41Sopenharmony_ci "hash": "" 80181cb0ef41Sopenharmony_ci }, 80191cb0ef41Sopenharmony_ci { 80201cb0ef41Sopenharmony_ci "input": "http://example.org/test?\u003C", 80211cb0ef41Sopenharmony_ci "base": null, 80221cb0ef41Sopenharmony_ci "href": "http://example.org/test?%3C", 80231cb0ef41Sopenharmony_ci "protocol": "http:", 80241cb0ef41Sopenharmony_ci "username": "", 80251cb0ef41Sopenharmony_ci "password": "", 80261cb0ef41Sopenharmony_ci "host": "example.org", 80271cb0ef41Sopenharmony_ci "hostname": "example.org", 80281cb0ef41Sopenharmony_ci "port": "", 80291cb0ef41Sopenharmony_ci "pathname": "/test", 80301cb0ef41Sopenharmony_ci "search": "?%3C", 80311cb0ef41Sopenharmony_ci "hash": "" 80321cb0ef41Sopenharmony_ci }, 80331cb0ef41Sopenharmony_ci { 80341cb0ef41Sopenharmony_ci "input": "http://example.org/test?\u003E", 80351cb0ef41Sopenharmony_ci "base": null, 80361cb0ef41Sopenharmony_ci "href": "http://example.org/test?%3E", 80371cb0ef41Sopenharmony_ci "protocol": "http:", 80381cb0ef41Sopenharmony_ci "username": "", 80391cb0ef41Sopenharmony_ci "password": "", 80401cb0ef41Sopenharmony_ci "host": "example.org", 80411cb0ef41Sopenharmony_ci "hostname": "example.org", 80421cb0ef41Sopenharmony_ci "port": "", 80431cb0ef41Sopenharmony_ci "pathname": "/test", 80441cb0ef41Sopenharmony_ci "search": "?%3E", 80451cb0ef41Sopenharmony_ci "hash": "" 80461cb0ef41Sopenharmony_ci }, 80471cb0ef41Sopenharmony_ci { 80481cb0ef41Sopenharmony_ci "input": "http://example.org/test?\u2323", 80491cb0ef41Sopenharmony_ci "base": null, 80501cb0ef41Sopenharmony_ci "href": "http://example.org/test?%E2%8C%A3", 80511cb0ef41Sopenharmony_ci "protocol": "http:", 80521cb0ef41Sopenharmony_ci "username": "", 80531cb0ef41Sopenharmony_ci "password": "", 80541cb0ef41Sopenharmony_ci "host": "example.org", 80551cb0ef41Sopenharmony_ci "hostname": "example.org", 80561cb0ef41Sopenharmony_ci "port": "", 80571cb0ef41Sopenharmony_ci "pathname": "/test", 80581cb0ef41Sopenharmony_ci "search": "?%E2%8C%A3", 80591cb0ef41Sopenharmony_ci "hash": "" 80601cb0ef41Sopenharmony_ci }, 80611cb0ef41Sopenharmony_ci { 80621cb0ef41Sopenharmony_ci "input": "http://example.org/test?%23%23", 80631cb0ef41Sopenharmony_ci "base": null, 80641cb0ef41Sopenharmony_ci "href": "http://example.org/test?%23%23", 80651cb0ef41Sopenharmony_ci "protocol": "http:", 80661cb0ef41Sopenharmony_ci "username": "", 80671cb0ef41Sopenharmony_ci "password": "", 80681cb0ef41Sopenharmony_ci "host": "example.org", 80691cb0ef41Sopenharmony_ci "hostname": "example.org", 80701cb0ef41Sopenharmony_ci "port": "", 80711cb0ef41Sopenharmony_ci "pathname": "/test", 80721cb0ef41Sopenharmony_ci "search": "?%23%23", 80731cb0ef41Sopenharmony_ci "hash": "" 80741cb0ef41Sopenharmony_ci }, 80751cb0ef41Sopenharmony_ci { 80761cb0ef41Sopenharmony_ci "input": "http://example.org/test?%GH", 80771cb0ef41Sopenharmony_ci "base": null, 80781cb0ef41Sopenharmony_ci "href": "http://example.org/test?%GH", 80791cb0ef41Sopenharmony_ci "protocol": "http:", 80801cb0ef41Sopenharmony_ci "username": "", 80811cb0ef41Sopenharmony_ci "password": "", 80821cb0ef41Sopenharmony_ci "host": "example.org", 80831cb0ef41Sopenharmony_ci "hostname": "example.org", 80841cb0ef41Sopenharmony_ci "port": "", 80851cb0ef41Sopenharmony_ci "pathname": "/test", 80861cb0ef41Sopenharmony_ci "search": "?%GH", 80871cb0ef41Sopenharmony_ci "hash": "" 80881cb0ef41Sopenharmony_ci }, 80891cb0ef41Sopenharmony_ci { 80901cb0ef41Sopenharmony_ci "input": "http://example.org/test?a#%EF", 80911cb0ef41Sopenharmony_ci "base": null, 80921cb0ef41Sopenharmony_ci "href": "http://example.org/test?a#%EF", 80931cb0ef41Sopenharmony_ci "protocol": "http:", 80941cb0ef41Sopenharmony_ci "username": "", 80951cb0ef41Sopenharmony_ci "password": "", 80961cb0ef41Sopenharmony_ci "host": "example.org", 80971cb0ef41Sopenharmony_ci "hostname": "example.org", 80981cb0ef41Sopenharmony_ci "port": "", 80991cb0ef41Sopenharmony_ci "pathname": "/test", 81001cb0ef41Sopenharmony_ci "search": "?a", 81011cb0ef41Sopenharmony_ci "hash": "#%EF" 81021cb0ef41Sopenharmony_ci }, 81031cb0ef41Sopenharmony_ci { 81041cb0ef41Sopenharmony_ci "input": "http://example.org/test?a#%GH", 81051cb0ef41Sopenharmony_ci "base": null, 81061cb0ef41Sopenharmony_ci "href": "http://example.org/test?a#%GH", 81071cb0ef41Sopenharmony_ci "protocol": "http:", 81081cb0ef41Sopenharmony_ci "username": "", 81091cb0ef41Sopenharmony_ci "password": "", 81101cb0ef41Sopenharmony_ci "host": "example.org", 81111cb0ef41Sopenharmony_ci "hostname": "example.org", 81121cb0ef41Sopenharmony_ci "port": "", 81131cb0ef41Sopenharmony_ci "pathname": "/test", 81141cb0ef41Sopenharmony_ci "search": "?a", 81151cb0ef41Sopenharmony_ci "hash": "#%GH" 81161cb0ef41Sopenharmony_ci }, 81171cb0ef41Sopenharmony_ci "URLs that require a non-about:blank base. (Also serve as invalid base tests.)", 81181cb0ef41Sopenharmony_ci { 81191cb0ef41Sopenharmony_ci "input": "a", 81201cb0ef41Sopenharmony_ci "base": null, 81211cb0ef41Sopenharmony_ci "failure": true, 81221cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 81231cb0ef41Sopenharmony_ci }, 81241cb0ef41Sopenharmony_ci { 81251cb0ef41Sopenharmony_ci "input": "a/", 81261cb0ef41Sopenharmony_ci "base": null, 81271cb0ef41Sopenharmony_ci "failure": true, 81281cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 81291cb0ef41Sopenharmony_ci }, 81301cb0ef41Sopenharmony_ci { 81311cb0ef41Sopenharmony_ci "input": "a//", 81321cb0ef41Sopenharmony_ci "base": null, 81331cb0ef41Sopenharmony_ci "failure": true, 81341cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 81351cb0ef41Sopenharmony_ci }, 81361cb0ef41Sopenharmony_ci "Bases that don't fail to parse but fail to be bases", 81371cb0ef41Sopenharmony_ci { 81381cb0ef41Sopenharmony_ci "input": "test-a-colon.html", 81391cb0ef41Sopenharmony_ci "base": "a:", 81401cb0ef41Sopenharmony_ci "failure": true 81411cb0ef41Sopenharmony_ci }, 81421cb0ef41Sopenharmony_ci { 81431cb0ef41Sopenharmony_ci "input": "test-a-colon-b.html", 81441cb0ef41Sopenharmony_ci "base": "a:b", 81451cb0ef41Sopenharmony_ci "failure": true 81461cb0ef41Sopenharmony_ci }, 81471cb0ef41Sopenharmony_ci "Other base URL tests, that must succeed", 81481cb0ef41Sopenharmony_ci { 81491cb0ef41Sopenharmony_ci "input": "test-a-colon-slash.html", 81501cb0ef41Sopenharmony_ci "base": "a:/", 81511cb0ef41Sopenharmony_ci "href": "a:/test-a-colon-slash.html", 81521cb0ef41Sopenharmony_ci "protocol": "a:", 81531cb0ef41Sopenharmony_ci "username": "", 81541cb0ef41Sopenharmony_ci "password": "", 81551cb0ef41Sopenharmony_ci "host": "", 81561cb0ef41Sopenharmony_ci "hostname": "", 81571cb0ef41Sopenharmony_ci "port": "", 81581cb0ef41Sopenharmony_ci "pathname": "/test-a-colon-slash.html", 81591cb0ef41Sopenharmony_ci "search": "", 81601cb0ef41Sopenharmony_ci "hash": "" 81611cb0ef41Sopenharmony_ci }, 81621cb0ef41Sopenharmony_ci { 81631cb0ef41Sopenharmony_ci "input": "test-a-colon-slash-slash.html", 81641cb0ef41Sopenharmony_ci "base": "a://", 81651cb0ef41Sopenharmony_ci "href": "a:///test-a-colon-slash-slash.html", 81661cb0ef41Sopenharmony_ci "protocol": "a:", 81671cb0ef41Sopenharmony_ci "username": "", 81681cb0ef41Sopenharmony_ci "password": "", 81691cb0ef41Sopenharmony_ci "host": "", 81701cb0ef41Sopenharmony_ci "hostname": "", 81711cb0ef41Sopenharmony_ci "port": "", 81721cb0ef41Sopenharmony_ci "pathname": "/test-a-colon-slash-slash.html", 81731cb0ef41Sopenharmony_ci "search": "", 81741cb0ef41Sopenharmony_ci "hash": "" 81751cb0ef41Sopenharmony_ci }, 81761cb0ef41Sopenharmony_ci { 81771cb0ef41Sopenharmony_ci "input": "test-a-colon-slash-b.html", 81781cb0ef41Sopenharmony_ci "base": "a:/b", 81791cb0ef41Sopenharmony_ci "href": "a:/test-a-colon-slash-b.html", 81801cb0ef41Sopenharmony_ci "protocol": "a:", 81811cb0ef41Sopenharmony_ci "username": "", 81821cb0ef41Sopenharmony_ci "password": "", 81831cb0ef41Sopenharmony_ci "host": "", 81841cb0ef41Sopenharmony_ci "hostname": "", 81851cb0ef41Sopenharmony_ci "port": "", 81861cb0ef41Sopenharmony_ci "pathname": "/test-a-colon-slash-b.html", 81871cb0ef41Sopenharmony_ci "search": "", 81881cb0ef41Sopenharmony_ci "hash": "" 81891cb0ef41Sopenharmony_ci }, 81901cb0ef41Sopenharmony_ci { 81911cb0ef41Sopenharmony_ci "input": "test-a-colon-slash-slash-b.html", 81921cb0ef41Sopenharmony_ci "base": "a://b", 81931cb0ef41Sopenharmony_ci "href": "a://b/test-a-colon-slash-slash-b.html", 81941cb0ef41Sopenharmony_ci "protocol": "a:", 81951cb0ef41Sopenharmony_ci "username": "", 81961cb0ef41Sopenharmony_ci "password": "", 81971cb0ef41Sopenharmony_ci "host": "b", 81981cb0ef41Sopenharmony_ci "hostname": "b", 81991cb0ef41Sopenharmony_ci "port": "", 82001cb0ef41Sopenharmony_ci "pathname": "/test-a-colon-slash-slash-b.html", 82011cb0ef41Sopenharmony_ci "search": "", 82021cb0ef41Sopenharmony_ci "hash": "" 82031cb0ef41Sopenharmony_ci }, 82041cb0ef41Sopenharmony_ci "Null code point in fragment", 82051cb0ef41Sopenharmony_ci { 82061cb0ef41Sopenharmony_ci "input": "http://example.org/test?a#b\u0000c", 82071cb0ef41Sopenharmony_ci "base": null, 82081cb0ef41Sopenharmony_ci "href": "http://example.org/test?a#b%00c", 82091cb0ef41Sopenharmony_ci "protocol": "http:", 82101cb0ef41Sopenharmony_ci "username": "", 82111cb0ef41Sopenharmony_ci "password": "", 82121cb0ef41Sopenharmony_ci "host": "example.org", 82131cb0ef41Sopenharmony_ci "hostname": "example.org", 82141cb0ef41Sopenharmony_ci "port": "", 82151cb0ef41Sopenharmony_ci "pathname": "/test", 82161cb0ef41Sopenharmony_ci "search": "?a", 82171cb0ef41Sopenharmony_ci "hash": "#b%00c" 82181cb0ef41Sopenharmony_ci }, 82191cb0ef41Sopenharmony_ci { 82201cb0ef41Sopenharmony_ci "input": "non-spec://example.org/test?a#b\u0000c", 82211cb0ef41Sopenharmony_ci "base": null, 82221cb0ef41Sopenharmony_ci "href": "non-spec://example.org/test?a#b%00c", 82231cb0ef41Sopenharmony_ci "protocol": "non-spec:", 82241cb0ef41Sopenharmony_ci "username": "", 82251cb0ef41Sopenharmony_ci "password": "", 82261cb0ef41Sopenharmony_ci "host": "example.org", 82271cb0ef41Sopenharmony_ci "hostname": "example.org", 82281cb0ef41Sopenharmony_ci "port": "", 82291cb0ef41Sopenharmony_ci "pathname": "/test", 82301cb0ef41Sopenharmony_ci "search": "?a", 82311cb0ef41Sopenharmony_ci "hash": "#b%00c" 82321cb0ef41Sopenharmony_ci }, 82331cb0ef41Sopenharmony_ci { 82341cb0ef41Sopenharmony_ci "input": "non-spec:/test?a#b\u0000c", 82351cb0ef41Sopenharmony_ci "base": null, 82361cb0ef41Sopenharmony_ci "href": "non-spec:/test?a#b%00c", 82371cb0ef41Sopenharmony_ci "protocol": "non-spec:", 82381cb0ef41Sopenharmony_ci "username": "", 82391cb0ef41Sopenharmony_ci "password": "", 82401cb0ef41Sopenharmony_ci "host": "", 82411cb0ef41Sopenharmony_ci "hostname": "", 82421cb0ef41Sopenharmony_ci "port": "", 82431cb0ef41Sopenharmony_ci "pathname": "/test", 82441cb0ef41Sopenharmony_ci "search": "?a", 82451cb0ef41Sopenharmony_ci "hash": "#b%00c" 82461cb0ef41Sopenharmony_ci }, 82471cb0ef41Sopenharmony_ci "First scheme char - not allowed: https://github.com/whatwg/url/issues/464", 82481cb0ef41Sopenharmony_ci { 82491cb0ef41Sopenharmony_ci "input": "10.0.0.7:8080/foo.html", 82501cb0ef41Sopenharmony_ci "base": "file:///some/dir/bar.html", 82511cb0ef41Sopenharmony_ci "href": "file:///some/dir/10.0.0.7:8080/foo.html", 82521cb0ef41Sopenharmony_ci "protocol": "file:", 82531cb0ef41Sopenharmony_ci "username": "", 82541cb0ef41Sopenharmony_ci "password": "", 82551cb0ef41Sopenharmony_ci "host": "", 82561cb0ef41Sopenharmony_ci "hostname": "", 82571cb0ef41Sopenharmony_ci "port": "", 82581cb0ef41Sopenharmony_ci "pathname": "/some/dir/10.0.0.7:8080/foo.html", 82591cb0ef41Sopenharmony_ci "search": "", 82601cb0ef41Sopenharmony_ci "hash": "" 82611cb0ef41Sopenharmony_ci }, 82621cb0ef41Sopenharmony_ci "Subsequent scheme chars - not allowed", 82631cb0ef41Sopenharmony_ci { 82641cb0ef41Sopenharmony_ci "input": "a!@$*=/foo.html", 82651cb0ef41Sopenharmony_ci "base": "file:///some/dir/bar.html", 82661cb0ef41Sopenharmony_ci "href": "file:///some/dir/a!@$*=/foo.html", 82671cb0ef41Sopenharmony_ci "protocol": "file:", 82681cb0ef41Sopenharmony_ci "username": "", 82691cb0ef41Sopenharmony_ci "password": "", 82701cb0ef41Sopenharmony_ci "host": "", 82711cb0ef41Sopenharmony_ci "hostname": "", 82721cb0ef41Sopenharmony_ci "port": "", 82731cb0ef41Sopenharmony_ci "pathname": "/some/dir/a!@$*=/foo.html", 82741cb0ef41Sopenharmony_ci "search": "", 82751cb0ef41Sopenharmony_ci "hash": "" 82761cb0ef41Sopenharmony_ci }, 82771cb0ef41Sopenharmony_ci "First and subsequent scheme chars - allowed", 82781cb0ef41Sopenharmony_ci { 82791cb0ef41Sopenharmony_ci "input": "a1234567890-+.:foo/bar", 82801cb0ef41Sopenharmony_ci "base": "http://example.com/dir/file", 82811cb0ef41Sopenharmony_ci "href": "a1234567890-+.:foo/bar", 82821cb0ef41Sopenharmony_ci "protocol": "a1234567890-+.:", 82831cb0ef41Sopenharmony_ci "username": "", 82841cb0ef41Sopenharmony_ci "password": "", 82851cb0ef41Sopenharmony_ci "host": "", 82861cb0ef41Sopenharmony_ci "hostname": "", 82871cb0ef41Sopenharmony_ci "port": "", 82881cb0ef41Sopenharmony_ci "pathname": "foo/bar", 82891cb0ef41Sopenharmony_ci "search": "", 82901cb0ef41Sopenharmony_ci "hash": "" 82911cb0ef41Sopenharmony_ci }, 82921cb0ef41Sopenharmony_ci "IDNA ignored code points in file URLs hosts", 82931cb0ef41Sopenharmony_ci { 82941cb0ef41Sopenharmony_ci "input": "file://a\u00ADb/p", 82951cb0ef41Sopenharmony_ci "base": null, 82961cb0ef41Sopenharmony_ci "href": "file://ab/p", 82971cb0ef41Sopenharmony_ci "protocol": "file:", 82981cb0ef41Sopenharmony_ci "username": "", 82991cb0ef41Sopenharmony_ci "password": "", 83001cb0ef41Sopenharmony_ci "host": "ab", 83011cb0ef41Sopenharmony_ci "hostname": "ab", 83021cb0ef41Sopenharmony_ci "port": "", 83031cb0ef41Sopenharmony_ci "pathname": "/p", 83041cb0ef41Sopenharmony_ci "search": "", 83051cb0ef41Sopenharmony_ci "hash": "" 83061cb0ef41Sopenharmony_ci }, 83071cb0ef41Sopenharmony_ci { 83081cb0ef41Sopenharmony_ci "input": "file://a%C2%ADb/p", 83091cb0ef41Sopenharmony_ci "base": null, 83101cb0ef41Sopenharmony_ci "href": "file://ab/p", 83111cb0ef41Sopenharmony_ci "protocol": "file:", 83121cb0ef41Sopenharmony_ci "username": "", 83131cb0ef41Sopenharmony_ci "password": "", 83141cb0ef41Sopenharmony_ci "host": "ab", 83151cb0ef41Sopenharmony_ci "hostname": "ab", 83161cb0ef41Sopenharmony_ci "port": "", 83171cb0ef41Sopenharmony_ci "pathname": "/p", 83181cb0ef41Sopenharmony_ci "search": "", 83191cb0ef41Sopenharmony_ci "hash": "" 83201cb0ef41Sopenharmony_ci }, 83211cb0ef41Sopenharmony_ci "IDNA hostnames which get mapped to 'localhost'", 83221cb0ef41Sopenharmony_ci { 83231cb0ef41Sopenharmony_ci "input": "file://loC/usr/bin", 83241cb0ef41Sopenharmony_ci "base": null, 83251cb0ef41Sopenharmony_ci "href": "file:///usr/bin", 83261cb0ef41Sopenharmony_ci "protocol": "file:", 83271cb0ef41Sopenharmony_ci "username": "", 83281cb0ef41Sopenharmony_ci "password": "", 83291cb0ef41Sopenharmony_ci "host": "", 83301cb0ef41Sopenharmony_ci "hostname": "", 83311cb0ef41Sopenharmony_ci "port": "", 83321cb0ef41Sopenharmony_ci "pathname": "/usr/bin", 83331cb0ef41Sopenharmony_ci "search": "", 83341cb0ef41Sopenharmony_ci "hash": "" 83351cb0ef41Sopenharmony_ci }, 83361cb0ef41Sopenharmony_ci "Empty host after the domain to ASCII", 83371cb0ef41Sopenharmony_ci { 83381cb0ef41Sopenharmony_ci "input": "file://\u00ad/p", 83391cb0ef41Sopenharmony_ci "base": null, 83401cb0ef41Sopenharmony_ci "failure": true 83411cb0ef41Sopenharmony_ci }, 83421cb0ef41Sopenharmony_ci { 83431cb0ef41Sopenharmony_ci "input": "file://%C2%AD/p", 83441cb0ef41Sopenharmony_ci "base": null, 83451cb0ef41Sopenharmony_ci "failure": true 83461cb0ef41Sopenharmony_ci }, 83471cb0ef41Sopenharmony_ci { 83481cb0ef41Sopenharmony_ci "input": "file://xn--/p", 83491cb0ef41Sopenharmony_ci "base": null, 83501cb0ef41Sopenharmony_ci "failure": true 83511cb0ef41Sopenharmony_ci }, 83521cb0ef41Sopenharmony_ci "https://bugzilla.mozilla.org/show_bug.cgi?id=1647058", 83531cb0ef41Sopenharmony_ci { 83541cb0ef41Sopenharmony_ci "input": "#link", 83551cb0ef41Sopenharmony_ci "base": "https://example.org/##link", 83561cb0ef41Sopenharmony_ci "href": "https://example.org/#link", 83571cb0ef41Sopenharmony_ci "protocol": "https:", 83581cb0ef41Sopenharmony_ci "username": "", 83591cb0ef41Sopenharmony_ci "password": "", 83601cb0ef41Sopenharmony_ci "host": "example.org", 83611cb0ef41Sopenharmony_ci "hostname": "example.org", 83621cb0ef41Sopenharmony_ci "port": "", 83631cb0ef41Sopenharmony_ci "pathname": "/", 83641cb0ef41Sopenharmony_ci "search": "", 83651cb0ef41Sopenharmony_ci "hash": "#link" 83661cb0ef41Sopenharmony_ci }, 83671cb0ef41Sopenharmony_ci "UTF-8 percent-encode of C0 control percent-encode set and supersets", 83681cb0ef41Sopenharmony_ci { 83691cb0ef41Sopenharmony_ci "input": "non-special:cannot-be-a-base-url-\u0000\u0001\u001F\u001E\u007E\u007F\u0080", 83701cb0ef41Sopenharmony_ci "base": null, 83711cb0ef41Sopenharmony_ci "hash": "", 83721cb0ef41Sopenharmony_ci "host": "", 83731cb0ef41Sopenharmony_ci "hostname": "", 83741cb0ef41Sopenharmony_ci "href": "non-special:cannot-be-a-base-url-%00%01%1F%1E~%7F%C2%80", 83751cb0ef41Sopenharmony_ci "origin": "null", 83761cb0ef41Sopenharmony_ci "password": "", 83771cb0ef41Sopenharmony_ci "pathname": "cannot-be-a-base-url-%00%01%1F%1E~%7F%C2%80", 83781cb0ef41Sopenharmony_ci "port": "", 83791cb0ef41Sopenharmony_ci "protocol": "non-special:", 83801cb0ef41Sopenharmony_ci "search": "", 83811cb0ef41Sopenharmony_ci "username": "" 83821cb0ef41Sopenharmony_ci }, 83831cb0ef41Sopenharmony_ci { 83841cb0ef41Sopenharmony_ci "input": "https://www.example.com/path{\u007Fpath.html?query'\u007F=query#fragment<\u007Ffragment", 83851cb0ef41Sopenharmony_ci "base": null, 83861cb0ef41Sopenharmony_ci "hash": "#fragment%3C%7Ffragment", 83871cb0ef41Sopenharmony_ci "host": "www.example.com", 83881cb0ef41Sopenharmony_ci "hostname": "www.example.com", 83891cb0ef41Sopenharmony_ci "href": "https://www.example.com/path%7B%7Fpath.html?query%27%7F=query#fragment%3C%7Ffragment", 83901cb0ef41Sopenharmony_ci "origin": "https://www.example.com", 83911cb0ef41Sopenharmony_ci "password": "", 83921cb0ef41Sopenharmony_ci "pathname": "/path%7B%7Fpath.html", 83931cb0ef41Sopenharmony_ci "port": "", 83941cb0ef41Sopenharmony_ci "protocol": "https:", 83951cb0ef41Sopenharmony_ci "search": "?query%27%7F=query", 83961cb0ef41Sopenharmony_ci "username": "" 83971cb0ef41Sopenharmony_ci }, 83981cb0ef41Sopenharmony_ci { 83991cb0ef41Sopenharmony_ci "input": "https://user:pass[\u007F@foo/bar", 84001cb0ef41Sopenharmony_ci "base": "http://example.org", 84011cb0ef41Sopenharmony_ci "hash": "", 84021cb0ef41Sopenharmony_ci "host": "foo", 84031cb0ef41Sopenharmony_ci "hostname": "foo", 84041cb0ef41Sopenharmony_ci "href": "https://user:pass%5B%7F@foo/bar", 84051cb0ef41Sopenharmony_ci "origin": "https://foo", 84061cb0ef41Sopenharmony_ci "password": "pass%5B%7F", 84071cb0ef41Sopenharmony_ci "pathname": "/bar", 84081cb0ef41Sopenharmony_ci "port": "", 84091cb0ef41Sopenharmony_ci "protocol": "https:", 84101cb0ef41Sopenharmony_ci "search": "", 84111cb0ef41Sopenharmony_ci "username": "user" 84121cb0ef41Sopenharmony_ci }, 84131cb0ef41Sopenharmony_ci "Tests for the distinct percent-encode sets", 84141cb0ef41Sopenharmony_ci { 84151cb0ef41Sopenharmony_ci "input": "foo:// !\"$%&'()*+,-.;<=>@[\\]^_`{|}~@host/", 84161cb0ef41Sopenharmony_ci "base": null, 84171cb0ef41Sopenharmony_ci "hash": "", 84181cb0ef41Sopenharmony_ci "host": "host", 84191cb0ef41Sopenharmony_ci "hostname": "host", 84201cb0ef41Sopenharmony_ci "href": "foo://%20!%22$%&'()*+,-.%3B%3C%3D%3E%40%5B%5C%5D%5E_%60%7B%7C%7D~@host/", 84211cb0ef41Sopenharmony_ci "origin": "null", 84221cb0ef41Sopenharmony_ci "password": "", 84231cb0ef41Sopenharmony_ci "pathname": "/", 84241cb0ef41Sopenharmony_ci "port":"", 84251cb0ef41Sopenharmony_ci "protocol": "foo:", 84261cb0ef41Sopenharmony_ci "search": "", 84271cb0ef41Sopenharmony_ci "username": "%20!%22$%&'()*+,-.%3B%3C%3D%3E%40%5B%5C%5D%5E_%60%7B%7C%7D~" 84281cb0ef41Sopenharmony_ci }, 84291cb0ef41Sopenharmony_ci { 84301cb0ef41Sopenharmony_ci "input": "wss:// !\"$%&'()*+,-.;<=>@[]^_`{|}~@host/", 84311cb0ef41Sopenharmony_ci "base": null, 84321cb0ef41Sopenharmony_ci "hash": "", 84331cb0ef41Sopenharmony_ci "host": "host", 84341cb0ef41Sopenharmony_ci "hostname": "host", 84351cb0ef41Sopenharmony_ci "href": "wss://%20!%22$%&'()*+,-.%3B%3C%3D%3E%40%5B%5D%5E_%60%7B%7C%7D~@host/", 84361cb0ef41Sopenharmony_ci "origin": "wss://host", 84371cb0ef41Sopenharmony_ci "password": "", 84381cb0ef41Sopenharmony_ci "pathname": "/", 84391cb0ef41Sopenharmony_ci "port":"", 84401cb0ef41Sopenharmony_ci "protocol": "wss:", 84411cb0ef41Sopenharmony_ci "search": "", 84421cb0ef41Sopenharmony_ci "username": "%20!%22$%&'()*+,-.%3B%3C%3D%3E%40%5B%5D%5E_%60%7B%7C%7D~" 84431cb0ef41Sopenharmony_ci }, 84441cb0ef41Sopenharmony_ci { 84451cb0ef41Sopenharmony_ci "input": "foo://joe: !\"$%&'()*+,-.:;<=>@[\\]^_`{|}~@host/", 84461cb0ef41Sopenharmony_ci "base": null, 84471cb0ef41Sopenharmony_ci "hash": "", 84481cb0ef41Sopenharmony_ci "host": "host", 84491cb0ef41Sopenharmony_ci "hostname": "host", 84501cb0ef41Sopenharmony_ci "href": "foo://joe:%20!%22$%&'()*+,-.%3A%3B%3C%3D%3E%40%5B%5C%5D%5E_%60%7B%7C%7D~@host/", 84511cb0ef41Sopenharmony_ci "origin": "null", 84521cb0ef41Sopenharmony_ci "password": "%20!%22$%&'()*+,-.%3A%3B%3C%3D%3E%40%5B%5C%5D%5E_%60%7B%7C%7D~", 84531cb0ef41Sopenharmony_ci "pathname": "/", 84541cb0ef41Sopenharmony_ci "port":"", 84551cb0ef41Sopenharmony_ci "protocol": "foo:", 84561cb0ef41Sopenharmony_ci "search": "", 84571cb0ef41Sopenharmony_ci "username": "joe" 84581cb0ef41Sopenharmony_ci }, 84591cb0ef41Sopenharmony_ci { 84601cb0ef41Sopenharmony_ci "input": "wss://joe: !\"$%&'()*+,-.:;<=>@[]^_`{|}~@host/", 84611cb0ef41Sopenharmony_ci "base": null, 84621cb0ef41Sopenharmony_ci "hash": "", 84631cb0ef41Sopenharmony_ci "host": "host", 84641cb0ef41Sopenharmony_ci "hostname": "host", 84651cb0ef41Sopenharmony_ci "href": "wss://joe:%20!%22$%&'()*+,-.%3A%3B%3C%3D%3E%40%5B%5D%5E_%60%7B%7C%7D~@host/", 84661cb0ef41Sopenharmony_ci "origin": "wss://host", 84671cb0ef41Sopenharmony_ci "password": "%20!%22$%&'()*+,-.%3A%3B%3C%3D%3E%40%5B%5D%5E_%60%7B%7C%7D~", 84681cb0ef41Sopenharmony_ci "pathname": "/", 84691cb0ef41Sopenharmony_ci "port":"", 84701cb0ef41Sopenharmony_ci "protocol": "wss:", 84711cb0ef41Sopenharmony_ci "search": "", 84721cb0ef41Sopenharmony_ci "username": "joe" 84731cb0ef41Sopenharmony_ci }, 84741cb0ef41Sopenharmony_ci { 84751cb0ef41Sopenharmony_ci "input": "foo://!\"$%&'()*+,-.;=_`{}~/", 84761cb0ef41Sopenharmony_ci "base": null, 84771cb0ef41Sopenharmony_ci "hash": "", 84781cb0ef41Sopenharmony_ci "host": "!\"$%&'()*+,-.;=_`{}~", 84791cb0ef41Sopenharmony_ci "hostname": "!\"$%&'()*+,-.;=_`{}~", 84801cb0ef41Sopenharmony_ci "href":"foo://!\"$%&'()*+,-.;=_`{}~/", 84811cb0ef41Sopenharmony_ci "origin": "null", 84821cb0ef41Sopenharmony_ci "password": "", 84831cb0ef41Sopenharmony_ci "pathname": "/", 84841cb0ef41Sopenharmony_ci "port":"", 84851cb0ef41Sopenharmony_ci "protocol": "foo:", 84861cb0ef41Sopenharmony_ci "search": "", 84871cb0ef41Sopenharmony_ci "username": "" 84881cb0ef41Sopenharmony_ci }, 84891cb0ef41Sopenharmony_ci { 84901cb0ef41Sopenharmony_ci "input": "wss://!\"$&'()*+,-.;=_`{}~/", 84911cb0ef41Sopenharmony_ci "base": null, 84921cb0ef41Sopenharmony_ci "hash": "", 84931cb0ef41Sopenharmony_ci "host": "!\"$&'()*+,-.;=_`{}~", 84941cb0ef41Sopenharmony_ci "hostname": "!\"$&'()*+,-.;=_`{}~", 84951cb0ef41Sopenharmony_ci "href":"wss://!\"$&'()*+,-.;=_`{}~/", 84961cb0ef41Sopenharmony_ci "origin": "wss://!\"$&'()*+,-.;=_`{}~", 84971cb0ef41Sopenharmony_ci "password": "", 84981cb0ef41Sopenharmony_ci "pathname": "/", 84991cb0ef41Sopenharmony_ci "port":"", 85001cb0ef41Sopenharmony_ci "protocol": "wss:", 85011cb0ef41Sopenharmony_ci "search": "", 85021cb0ef41Sopenharmony_ci "username": "" 85031cb0ef41Sopenharmony_ci }, 85041cb0ef41Sopenharmony_ci { 85051cb0ef41Sopenharmony_ci "input": "foo://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~", 85061cb0ef41Sopenharmony_ci "base": null, 85071cb0ef41Sopenharmony_ci "hash": "", 85081cb0ef41Sopenharmony_ci "host": "host", 85091cb0ef41Sopenharmony_ci "hostname": "host", 85101cb0ef41Sopenharmony_ci "href": "foo://host/%20!%22$%&'()*+,-./:;%3C=%3E@[\\]^_%60%7B|%7D~", 85111cb0ef41Sopenharmony_ci "origin": "null", 85121cb0ef41Sopenharmony_ci "password": "", 85131cb0ef41Sopenharmony_ci "pathname": "/%20!%22$%&'()*+,-./:;%3C=%3E@[\\]^_%60%7B|%7D~", 85141cb0ef41Sopenharmony_ci "port":"", 85151cb0ef41Sopenharmony_ci "protocol": "foo:", 85161cb0ef41Sopenharmony_ci "search": "", 85171cb0ef41Sopenharmony_ci "username": "" 85181cb0ef41Sopenharmony_ci }, 85191cb0ef41Sopenharmony_ci { 85201cb0ef41Sopenharmony_ci "input": "wss://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~", 85211cb0ef41Sopenharmony_ci "base": null, 85221cb0ef41Sopenharmony_ci "hash": "", 85231cb0ef41Sopenharmony_ci "host": "host", 85241cb0ef41Sopenharmony_ci "hostname": "host", 85251cb0ef41Sopenharmony_ci "href": "wss://host/%20!%22$%&'()*+,-./:;%3C=%3E@[/]^_%60%7B|%7D~", 85261cb0ef41Sopenharmony_ci "origin": "wss://host", 85271cb0ef41Sopenharmony_ci "password": "", 85281cb0ef41Sopenharmony_ci "pathname": "/%20!%22$%&'()*+,-./:;%3C=%3E@[/]^_%60%7B|%7D~", 85291cb0ef41Sopenharmony_ci "port":"", 85301cb0ef41Sopenharmony_ci "protocol": "wss:", 85311cb0ef41Sopenharmony_ci "search": "", 85321cb0ef41Sopenharmony_ci "username": "" 85331cb0ef41Sopenharmony_ci }, 85341cb0ef41Sopenharmony_ci { 85351cb0ef41Sopenharmony_ci "input": "foo://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~", 85361cb0ef41Sopenharmony_ci "base": null, 85371cb0ef41Sopenharmony_ci "hash": "", 85381cb0ef41Sopenharmony_ci "host": "host", 85391cb0ef41Sopenharmony_ci "hostname": "host", 85401cb0ef41Sopenharmony_ci "href": "foo://host/dir/?%20!%22$%&'()*+,-./:;%3C=%3E?@[\\]^_`{|}~", 85411cb0ef41Sopenharmony_ci "origin": "null", 85421cb0ef41Sopenharmony_ci "password": "", 85431cb0ef41Sopenharmony_ci "pathname": "/dir/", 85441cb0ef41Sopenharmony_ci "port":"", 85451cb0ef41Sopenharmony_ci "protocol": "foo:", 85461cb0ef41Sopenharmony_ci "search": "?%20!%22$%&'()*+,-./:;%3C=%3E?@[\\]^_`{|}~", 85471cb0ef41Sopenharmony_ci "username": "" 85481cb0ef41Sopenharmony_ci }, 85491cb0ef41Sopenharmony_ci { 85501cb0ef41Sopenharmony_ci "input": "wss://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~", 85511cb0ef41Sopenharmony_ci "base": null, 85521cb0ef41Sopenharmony_ci "hash": "", 85531cb0ef41Sopenharmony_ci "host": "host", 85541cb0ef41Sopenharmony_ci "hostname": "host", 85551cb0ef41Sopenharmony_ci "href": "wss://host/dir/?%20!%22$%&%27()*+,-./:;%3C=%3E?@[\\]^_`{|}~", 85561cb0ef41Sopenharmony_ci "origin": "wss://host", 85571cb0ef41Sopenharmony_ci "password": "", 85581cb0ef41Sopenharmony_ci "pathname": "/dir/", 85591cb0ef41Sopenharmony_ci "port":"", 85601cb0ef41Sopenharmony_ci "protocol": "wss:", 85611cb0ef41Sopenharmony_ci "search": "?%20!%22$%&%27()*+,-./:;%3C=%3E?@[\\]^_`{|}~", 85621cb0ef41Sopenharmony_ci "username": "" 85631cb0ef41Sopenharmony_ci }, 85641cb0ef41Sopenharmony_ci { 85651cb0ef41Sopenharmony_ci "input": "foo://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", 85661cb0ef41Sopenharmony_ci "base": null, 85671cb0ef41Sopenharmony_ci "hash": "#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", 85681cb0ef41Sopenharmony_ci "host": "host", 85691cb0ef41Sopenharmony_ci "hostname": "host", 85701cb0ef41Sopenharmony_ci "href": "foo://host/dir/#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", 85711cb0ef41Sopenharmony_ci "origin": "null", 85721cb0ef41Sopenharmony_ci "password": "", 85731cb0ef41Sopenharmony_ci "pathname": "/dir/", 85741cb0ef41Sopenharmony_ci "port":"", 85751cb0ef41Sopenharmony_ci "protocol": "foo:", 85761cb0ef41Sopenharmony_ci "search": "", 85771cb0ef41Sopenharmony_ci "username": "" 85781cb0ef41Sopenharmony_ci }, 85791cb0ef41Sopenharmony_ci { 85801cb0ef41Sopenharmony_ci "input": "wss://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", 85811cb0ef41Sopenharmony_ci "base": null, 85821cb0ef41Sopenharmony_ci "hash": "#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", 85831cb0ef41Sopenharmony_ci "host": "host", 85841cb0ef41Sopenharmony_ci "hostname": "host", 85851cb0ef41Sopenharmony_ci "href": "wss://host/dir/#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", 85861cb0ef41Sopenharmony_ci "origin": "wss://host", 85871cb0ef41Sopenharmony_ci "password": "", 85881cb0ef41Sopenharmony_ci "pathname": "/dir/", 85891cb0ef41Sopenharmony_ci "port":"", 85901cb0ef41Sopenharmony_ci "protocol": "wss:", 85911cb0ef41Sopenharmony_ci "search": "", 85921cb0ef41Sopenharmony_ci "username": "" 85931cb0ef41Sopenharmony_ci }, 85941cb0ef41Sopenharmony_ci "Ensure that input schemes are not ignored when resolving non-special URLs", 85951cb0ef41Sopenharmony_ci { 85961cb0ef41Sopenharmony_ci "input": "abc:rootless", 85971cb0ef41Sopenharmony_ci "base": "abc://host/path", 85981cb0ef41Sopenharmony_ci "hash": "", 85991cb0ef41Sopenharmony_ci "host": "", 86001cb0ef41Sopenharmony_ci "hostname": "", 86011cb0ef41Sopenharmony_ci "href":"abc:rootless", 86021cb0ef41Sopenharmony_ci "password": "", 86031cb0ef41Sopenharmony_ci "pathname": "rootless", 86041cb0ef41Sopenharmony_ci "port":"", 86051cb0ef41Sopenharmony_ci "protocol": "abc:", 86061cb0ef41Sopenharmony_ci "search": "", 86071cb0ef41Sopenharmony_ci "username": "" 86081cb0ef41Sopenharmony_ci }, 86091cb0ef41Sopenharmony_ci { 86101cb0ef41Sopenharmony_ci "input": "abc:rootless", 86111cb0ef41Sopenharmony_ci "base": "abc:/path", 86121cb0ef41Sopenharmony_ci "hash": "", 86131cb0ef41Sopenharmony_ci "host": "", 86141cb0ef41Sopenharmony_ci "hostname": "", 86151cb0ef41Sopenharmony_ci "href":"abc:rootless", 86161cb0ef41Sopenharmony_ci "password": "", 86171cb0ef41Sopenharmony_ci "pathname": "rootless", 86181cb0ef41Sopenharmony_ci "port":"", 86191cb0ef41Sopenharmony_ci "protocol": "abc:", 86201cb0ef41Sopenharmony_ci "search": "", 86211cb0ef41Sopenharmony_ci "username": "" 86221cb0ef41Sopenharmony_ci }, 86231cb0ef41Sopenharmony_ci { 86241cb0ef41Sopenharmony_ci "input": "abc:rootless", 86251cb0ef41Sopenharmony_ci "base": "abc:path", 86261cb0ef41Sopenharmony_ci "hash": "", 86271cb0ef41Sopenharmony_ci "host": "", 86281cb0ef41Sopenharmony_ci "hostname": "", 86291cb0ef41Sopenharmony_ci "href":"abc:rootless", 86301cb0ef41Sopenharmony_ci "password": "", 86311cb0ef41Sopenharmony_ci "pathname": "rootless", 86321cb0ef41Sopenharmony_ci "port":"", 86331cb0ef41Sopenharmony_ci "protocol": "abc:", 86341cb0ef41Sopenharmony_ci "search": "", 86351cb0ef41Sopenharmony_ci "username": "" 86361cb0ef41Sopenharmony_ci }, 86371cb0ef41Sopenharmony_ci { 86381cb0ef41Sopenharmony_ci "input": "abc:/rooted", 86391cb0ef41Sopenharmony_ci "base": "abc://host/path", 86401cb0ef41Sopenharmony_ci "hash": "", 86411cb0ef41Sopenharmony_ci "host": "", 86421cb0ef41Sopenharmony_ci "hostname": "", 86431cb0ef41Sopenharmony_ci "href":"abc:/rooted", 86441cb0ef41Sopenharmony_ci "password": "", 86451cb0ef41Sopenharmony_ci "pathname": "/rooted", 86461cb0ef41Sopenharmony_ci "port":"", 86471cb0ef41Sopenharmony_ci "protocol": "abc:", 86481cb0ef41Sopenharmony_ci "search": "", 86491cb0ef41Sopenharmony_ci "username": "" 86501cb0ef41Sopenharmony_ci }, 86511cb0ef41Sopenharmony_ci "Empty query and fragment with blank should throw an error", 86521cb0ef41Sopenharmony_ci { 86531cb0ef41Sopenharmony_ci "input": "#", 86541cb0ef41Sopenharmony_ci "base": null, 86551cb0ef41Sopenharmony_ci "failure": true, 86561cb0ef41Sopenharmony_ci "relativeTo": "any-base" 86571cb0ef41Sopenharmony_ci }, 86581cb0ef41Sopenharmony_ci { 86591cb0ef41Sopenharmony_ci "input": "?", 86601cb0ef41Sopenharmony_ci "base": null, 86611cb0ef41Sopenharmony_ci "failure": true, 86621cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 86631cb0ef41Sopenharmony_ci }, 86641cb0ef41Sopenharmony_ci "Last component looks like a number, but not valid IPv4", 86651cb0ef41Sopenharmony_ci { 86661cb0ef41Sopenharmony_ci "input": "http://1.2.3.4.5", 86671cb0ef41Sopenharmony_ci "base": "http://other.com/", 86681cb0ef41Sopenharmony_ci "failure": true 86691cb0ef41Sopenharmony_ci }, 86701cb0ef41Sopenharmony_ci { 86711cb0ef41Sopenharmony_ci "input": "http://1.2.3.4.5.", 86721cb0ef41Sopenharmony_ci "base": "http://other.com/", 86731cb0ef41Sopenharmony_ci "failure": true 86741cb0ef41Sopenharmony_ci }, 86751cb0ef41Sopenharmony_ci { 86761cb0ef41Sopenharmony_ci "input": "http://0..0x300/", 86771cb0ef41Sopenharmony_ci "base": null, 86781cb0ef41Sopenharmony_ci "failure": true 86791cb0ef41Sopenharmony_ci }, 86801cb0ef41Sopenharmony_ci { 86811cb0ef41Sopenharmony_ci "input": "http://0..0x300./", 86821cb0ef41Sopenharmony_ci "base": null, 86831cb0ef41Sopenharmony_ci "failure": true 86841cb0ef41Sopenharmony_ci }, 86851cb0ef41Sopenharmony_ci { 86861cb0ef41Sopenharmony_ci "input": "http://256.256.256.256.256", 86871cb0ef41Sopenharmony_ci "base": "http://other.com/", 86881cb0ef41Sopenharmony_ci "failure": true 86891cb0ef41Sopenharmony_ci }, 86901cb0ef41Sopenharmony_ci { 86911cb0ef41Sopenharmony_ci "input": "http://256.256.256.256.256.", 86921cb0ef41Sopenharmony_ci "base": "http://other.com/", 86931cb0ef41Sopenharmony_ci "failure": true 86941cb0ef41Sopenharmony_ci }, 86951cb0ef41Sopenharmony_ci { 86961cb0ef41Sopenharmony_ci "input": "http://1.2.3.08", 86971cb0ef41Sopenharmony_ci "base": null, 86981cb0ef41Sopenharmony_ci "failure": true 86991cb0ef41Sopenharmony_ci }, 87001cb0ef41Sopenharmony_ci { 87011cb0ef41Sopenharmony_ci "input": "http://1.2.3.08.", 87021cb0ef41Sopenharmony_ci "base": null, 87031cb0ef41Sopenharmony_ci "failure": true 87041cb0ef41Sopenharmony_ci }, 87051cb0ef41Sopenharmony_ci { 87061cb0ef41Sopenharmony_ci "input": "http://1.2.3.09", 87071cb0ef41Sopenharmony_ci "base": null, 87081cb0ef41Sopenharmony_ci "failure": true 87091cb0ef41Sopenharmony_ci }, 87101cb0ef41Sopenharmony_ci { 87111cb0ef41Sopenharmony_ci "input": "http://09.2.3.4", 87121cb0ef41Sopenharmony_ci "base": null, 87131cb0ef41Sopenharmony_ci "failure": true 87141cb0ef41Sopenharmony_ci }, 87151cb0ef41Sopenharmony_ci { 87161cb0ef41Sopenharmony_ci "input": "http://09.2.3.4.", 87171cb0ef41Sopenharmony_ci "base": null, 87181cb0ef41Sopenharmony_ci "failure": true 87191cb0ef41Sopenharmony_ci }, 87201cb0ef41Sopenharmony_ci { 87211cb0ef41Sopenharmony_ci "input": "http://01.2.3.4.5", 87221cb0ef41Sopenharmony_ci "base": null, 87231cb0ef41Sopenharmony_ci "failure": true 87241cb0ef41Sopenharmony_ci }, 87251cb0ef41Sopenharmony_ci { 87261cb0ef41Sopenharmony_ci "input": "http://01.2.3.4.5.", 87271cb0ef41Sopenharmony_ci "base": null, 87281cb0ef41Sopenharmony_ci "failure": true 87291cb0ef41Sopenharmony_ci }, 87301cb0ef41Sopenharmony_ci { 87311cb0ef41Sopenharmony_ci "input": "http://0x100.2.3.4", 87321cb0ef41Sopenharmony_ci "base": null, 87331cb0ef41Sopenharmony_ci "failure": true 87341cb0ef41Sopenharmony_ci }, 87351cb0ef41Sopenharmony_ci { 87361cb0ef41Sopenharmony_ci "input": "http://0x100.2.3.4.", 87371cb0ef41Sopenharmony_ci "base": null, 87381cb0ef41Sopenharmony_ci "failure": true 87391cb0ef41Sopenharmony_ci }, 87401cb0ef41Sopenharmony_ci { 87411cb0ef41Sopenharmony_ci "input": "http://0x1.2.3.4.5", 87421cb0ef41Sopenharmony_ci "base": null, 87431cb0ef41Sopenharmony_ci "failure": true 87441cb0ef41Sopenharmony_ci }, 87451cb0ef41Sopenharmony_ci { 87461cb0ef41Sopenharmony_ci "input": "http://0x1.2.3.4.5.", 87471cb0ef41Sopenharmony_ci "base": null, 87481cb0ef41Sopenharmony_ci "failure": true 87491cb0ef41Sopenharmony_ci }, 87501cb0ef41Sopenharmony_ci { 87511cb0ef41Sopenharmony_ci "input": "http://foo.1.2.3.4", 87521cb0ef41Sopenharmony_ci "base": null, 87531cb0ef41Sopenharmony_ci "failure": true 87541cb0ef41Sopenharmony_ci }, 87551cb0ef41Sopenharmony_ci { 87561cb0ef41Sopenharmony_ci "input": "http://foo.1.2.3.4.", 87571cb0ef41Sopenharmony_ci "base": null, 87581cb0ef41Sopenharmony_ci "failure": true 87591cb0ef41Sopenharmony_ci }, 87601cb0ef41Sopenharmony_ci { 87611cb0ef41Sopenharmony_ci "input": "http://foo.2.3.4", 87621cb0ef41Sopenharmony_ci "base": null, 87631cb0ef41Sopenharmony_ci "failure": true 87641cb0ef41Sopenharmony_ci }, 87651cb0ef41Sopenharmony_ci { 87661cb0ef41Sopenharmony_ci "input": "http://foo.2.3.4.", 87671cb0ef41Sopenharmony_ci "base": null, 87681cb0ef41Sopenharmony_ci "failure": true 87691cb0ef41Sopenharmony_ci }, 87701cb0ef41Sopenharmony_ci { 87711cb0ef41Sopenharmony_ci "input": "http://foo.09", 87721cb0ef41Sopenharmony_ci "base": null, 87731cb0ef41Sopenharmony_ci "failure": true 87741cb0ef41Sopenharmony_ci }, 87751cb0ef41Sopenharmony_ci { 87761cb0ef41Sopenharmony_ci "input": "http://foo.09.", 87771cb0ef41Sopenharmony_ci "base": null, 87781cb0ef41Sopenharmony_ci "failure": true 87791cb0ef41Sopenharmony_ci }, 87801cb0ef41Sopenharmony_ci { 87811cb0ef41Sopenharmony_ci "input": "http://foo.0x4", 87821cb0ef41Sopenharmony_ci "base": null, 87831cb0ef41Sopenharmony_ci "failure": true 87841cb0ef41Sopenharmony_ci }, 87851cb0ef41Sopenharmony_ci { 87861cb0ef41Sopenharmony_ci "input": "http://foo.0x4.", 87871cb0ef41Sopenharmony_ci "base": null, 87881cb0ef41Sopenharmony_ci "failure": true 87891cb0ef41Sopenharmony_ci }, 87901cb0ef41Sopenharmony_ci { 87911cb0ef41Sopenharmony_ci "input": "http://foo.09..", 87921cb0ef41Sopenharmony_ci "base": null, 87931cb0ef41Sopenharmony_ci "hash": "", 87941cb0ef41Sopenharmony_ci "host": "foo.09..", 87951cb0ef41Sopenharmony_ci "hostname": "foo.09..", 87961cb0ef41Sopenharmony_ci "href":"http://foo.09../", 87971cb0ef41Sopenharmony_ci "password": "", 87981cb0ef41Sopenharmony_ci "pathname": "/", 87991cb0ef41Sopenharmony_ci "port":"", 88001cb0ef41Sopenharmony_ci "protocol": "http:", 88011cb0ef41Sopenharmony_ci "search": "", 88021cb0ef41Sopenharmony_ci "username": "" 88031cb0ef41Sopenharmony_ci }, 88041cb0ef41Sopenharmony_ci { 88051cb0ef41Sopenharmony_ci "input": "http://0999999999999999999/", 88061cb0ef41Sopenharmony_ci "base": null, 88071cb0ef41Sopenharmony_ci "failure": true 88081cb0ef41Sopenharmony_ci }, 88091cb0ef41Sopenharmony_ci { 88101cb0ef41Sopenharmony_ci "input": "http://foo.0x", 88111cb0ef41Sopenharmony_ci "base": null, 88121cb0ef41Sopenharmony_ci "failure": true 88131cb0ef41Sopenharmony_ci }, 88141cb0ef41Sopenharmony_ci { 88151cb0ef41Sopenharmony_ci "input": "http://foo.0XFfFfFfFfFfFfFfFfFfAcE123", 88161cb0ef41Sopenharmony_ci "base": null, 88171cb0ef41Sopenharmony_ci "failure": true 88181cb0ef41Sopenharmony_ci }, 88191cb0ef41Sopenharmony_ci { 88201cb0ef41Sopenharmony_ci "input": "http://.123/", 88211cb0ef41Sopenharmony_ci "base": null, 88221cb0ef41Sopenharmony_ci "failure": true 88231cb0ef41Sopenharmony_ci }, 88241cb0ef41Sopenharmony_ci "U+0000 and U+FFFF in various places", 88251cb0ef41Sopenharmony_ci { 88261cb0ef41Sopenharmony_ci "input": "https://\u0000y", 88271cb0ef41Sopenharmony_ci "base": null, 88281cb0ef41Sopenharmony_ci "failure": true 88291cb0ef41Sopenharmony_ci }, 88301cb0ef41Sopenharmony_ci { 88311cb0ef41Sopenharmony_ci "input": "https://x/\u0000y", 88321cb0ef41Sopenharmony_ci "base": null, 88331cb0ef41Sopenharmony_ci "hash": "", 88341cb0ef41Sopenharmony_ci "host": "x", 88351cb0ef41Sopenharmony_ci "hostname": "x", 88361cb0ef41Sopenharmony_ci "href": "https://x/%00y", 88371cb0ef41Sopenharmony_ci "password": "", 88381cb0ef41Sopenharmony_ci "pathname": "/%00y", 88391cb0ef41Sopenharmony_ci "port": "", 88401cb0ef41Sopenharmony_ci "protocol": "https:", 88411cb0ef41Sopenharmony_ci "search": "", 88421cb0ef41Sopenharmony_ci "username": "" 88431cb0ef41Sopenharmony_ci }, 88441cb0ef41Sopenharmony_ci { 88451cb0ef41Sopenharmony_ci "input": "https://x/?\u0000y", 88461cb0ef41Sopenharmony_ci "base": null, 88471cb0ef41Sopenharmony_ci "hash": "", 88481cb0ef41Sopenharmony_ci "host": "x", 88491cb0ef41Sopenharmony_ci "hostname": "x", 88501cb0ef41Sopenharmony_ci "href": "https://x/?%00y", 88511cb0ef41Sopenharmony_ci "password": "", 88521cb0ef41Sopenharmony_ci "pathname": "/", 88531cb0ef41Sopenharmony_ci "port": "", 88541cb0ef41Sopenharmony_ci "protocol": "https:", 88551cb0ef41Sopenharmony_ci "search": "?%00y", 88561cb0ef41Sopenharmony_ci "username": "" 88571cb0ef41Sopenharmony_ci }, 88581cb0ef41Sopenharmony_ci { 88591cb0ef41Sopenharmony_ci "input": "https://x/?#\u0000y", 88601cb0ef41Sopenharmony_ci "base": null, 88611cb0ef41Sopenharmony_ci "hash": "#%00y", 88621cb0ef41Sopenharmony_ci "host": "x", 88631cb0ef41Sopenharmony_ci "hostname": "x", 88641cb0ef41Sopenharmony_ci "href": "https://x/?#%00y", 88651cb0ef41Sopenharmony_ci "password": "", 88661cb0ef41Sopenharmony_ci "pathname": "/", 88671cb0ef41Sopenharmony_ci "port": "", 88681cb0ef41Sopenharmony_ci "protocol": "https:", 88691cb0ef41Sopenharmony_ci "search": "", 88701cb0ef41Sopenharmony_ci "username": "" 88711cb0ef41Sopenharmony_ci }, 88721cb0ef41Sopenharmony_ci { 88731cb0ef41Sopenharmony_ci "input": "https://\uFFFFy", 88741cb0ef41Sopenharmony_ci "base": null, 88751cb0ef41Sopenharmony_ci "failure": true 88761cb0ef41Sopenharmony_ci }, 88771cb0ef41Sopenharmony_ci { 88781cb0ef41Sopenharmony_ci "input": "https://x/\uFFFFy", 88791cb0ef41Sopenharmony_ci "base": null, 88801cb0ef41Sopenharmony_ci "hash": "", 88811cb0ef41Sopenharmony_ci "host": "x", 88821cb0ef41Sopenharmony_ci "hostname": "x", 88831cb0ef41Sopenharmony_ci "href": "https://x/%EF%BF%BFy", 88841cb0ef41Sopenharmony_ci "password": "", 88851cb0ef41Sopenharmony_ci "pathname": "/%EF%BF%BFy", 88861cb0ef41Sopenharmony_ci "port": "", 88871cb0ef41Sopenharmony_ci "protocol": "https:", 88881cb0ef41Sopenharmony_ci "search": "", 88891cb0ef41Sopenharmony_ci "username": "" 88901cb0ef41Sopenharmony_ci }, 88911cb0ef41Sopenharmony_ci { 88921cb0ef41Sopenharmony_ci "input": "https://x/?\uFFFFy", 88931cb0ef41Sopenharmony_ci "base": null, 88941cb0ef41Sopenharmony_ci "hash": "", 88951cb0ef41Sopenharmony_ci "host": "x", 88961cb0ef41Sopenharmony_ci "hostname": "x", 88971cb0ef41Sopenharmony_ci "href": "https://x/?%EF%BF%BFy", 88981cb0ef41Sopenharmony_ci "password": "", 88991cb0ef41Sopenharmony_ci "pathname": "/", 89001cb0ef41Sopenharmony_ci "port": "", 89011cb0ef41Sopenharmony_ci "protocol": "https:", 89021cb0ef41Sopenharmony_ci "search": "?%EF%BF%BFy", 89031cb0ef41Sopenharmony_ci "username": "" 89041cb0ef41Sopenharmony_ci }, 89051cb0ef41Sopenharmony_ci { 89061cb0ef41Sopenharmony_ci "input": "https://x/?#\uFFFFy", 89071cb0ef41Sopenharmony_ci "base": null, 89081cb0ef41Sopenharmony_ci "hash": "#%EF%BF%BFy", 89091cb0ef41Sopenharmony_ci "host": "x", 89101cb0ef41Sopenharmony_ci "hostname": "x", 89111cb0ef41Sopenharmony_ci "href": "https://x/?#%EF%BF%BFy", 89121cb0ef41Sopenharmony_ci "password": "", 89131cb0ef41Sopenharmony_ci "pathname": "/", 89141cb0ef41Sopenharmony_ci "port": "", 89151cb0ef41Sopenharmony_ci "protocol": "https:", 89161cb0ef41Sopenharmony_ci "search": "", 89171cb0ef41Sopenharmony_ci "username": "" 89181cb0ef41Sopenharmony_ci }, 89191cb0ef41Sopenharmony_ci { 89201cb0ef41Sopenharmony_ci "input": "non-special:\u0000y", 89211cb0ef41Sopenharmony_ci "base": null, 89221cb0ef41Sopenharmony_ci "hash": "", 89231cb0ef41Sopenharmony_ci "host": "", 89241cb0ef41Sopenharmony_ci "hostname": "", 89251cb0ef41Sopenharmony_ci "href": "non-special:%00y", 89261cb0ef41Sopenharmony_ci "password": "", 89271cb0ef41Sopenharmony_ci "pathname": "%00y", 89281cb0ef41Sopenharmony_ci "port": "", 89291cb0ef41Sopenharmony_ci "protocol": "non-special:", 89301cb0ef41Sopenharmony_ci "search": "", 89311cb0ef41Sopenharmony_ci "username": "" 89321cb0ef41Sopenharmony_ci }, 89331cb0ef41Sopenharmony_ci { 89341cb0ef41Sopenharmony_ci "input": "non-special:x/\u0000y", 89351cb0ef41Sopenharmony_ci "base": null, 89361cb0ef41Sopenharmony_ci "hash": "", 89371cb0ef41Sopenharmony_ci "host": "", 89381cb0ef41Sopenharmony_ci "hostname": "", 89391cb0ef41Sopenharmony_ci "href": "non-special:x/%00y", 89401cb0ef41Sopenharmony_ci "password": "", 89411cb0ef41Sopenharmony_ci "pathname": "x/%00y", 89421cb0ef41Sopenharmony_ci "port": "", 89431cb0ef41Sopenharmony_ci "protocol": "non-special:", 89441cb0ef41Sopenharmony_ci "search": "", 89451cb0ef41Sopenharmony_ci "username": "" 89461cb0ef41Sopenharmony_ci }, 89471cb0ef41Sopenharmony_ci { 89481cb0ef41Sopenharmony_ci "input": "non-special:x/?\u0000y", 89491cb0ef41Sopenharmony_ci "base": null, 89501cb0ef41Sopenharmony_ci "hash": "", 89511cb0ef41Sopenharmony_ci "host": "", 89521cb0ef41Sopenharmony_ci "hostname": "", 89531cb0ef41Sopenharmony_ci "href": "non-special:x/?%00y", 89541cb0ef41Sopenharmony_ci "password": "", 89551cb0ef41Sopenharmony_ci "pathname": "x/", 89561cb0ef41Sopenharmony_ci "port": "", 89571cb0ef41Sopenharmony_ci "protocol": "non-special:", 89581cb0ef41Sopenharmony_ci "search": "?%00y", 89591cb0ef41Sopenharmony_ci "username": "" 89601cb0ef41Sopenharmony_ci }, 89611cb0ef41Sopenharmony_ci { 89621cb0ef41Sopenharmony_ci "input": "non-special:x/?#\u0000y", 89631cb0ef41Sopenharmony_ci "base": null, 89641cb0ef41Sopenharmony_ci "hash": "#%00y", 89651cb0ef41Sopenharmony_ci "host": "", 89661cb0ef41Sopenharmony_ci "hostname": "", 89671cb0ef41Sopenharmony_ci "href": "non-special:x/?#%00y", 89681cb0ef41Sopenharmony_ci "password": "", 89691cb0ef41Sopenharmony_ci "pathname": "x/", 89701cb0ef41Sopenharmony_ci "port": "", 89711cb0ef41Sopenharmony_ci "protocol": "non-special:", 89721cb0ef41Sopenharmony_ci "search": "", 89731cb0ef41Sopenharmony_ci "username": "" 89741cb0ef41Sopenharmony_ci }, 89751cb0ef41Sopenharmony_ci { 89761cb0ef41Sopenharmony_ci "input": "non-special:\uFFFFy", 89771cb0ef41Sopenharmony_ci "base": null, 89781cb0ef41Sopenharmony_ci "hash": "", 89791cb0ef41Sopenharmony_ci "host": "", 89801cb0ef41Sopenharmony_ci "hostname": "", 89811cb0ef41Sopenharmony_ci "href": "non-special:%EF%BF%BFy", 89821cb0ef41Sopenharmony_ci "password": "", 89831cb0ef41Sopenharmony_ci "pathname": "%EF%BF%BFy", 89841cb0ef41Sopenharmony_ci "port": "", 89851cb0ef41Sopenharmony_ci "protocol": "non-special:", 89861cb0ef41Sopenharmony_ci "search": "", 89871cb0ef41Sopenharmony_ci "username": "" 89881cb0ef41Sopenharmony_ci }, 89891cb0ef41Sopenharmony_ci { 89901cb0ef41Sopenharmony_ci "input": "non-special:x/\uFFFFy", 89911cb0ef41Sopenharmony_ci "base": null, 89921cb0ef41Sopenharmony_ci "hash": "", 89931cb0ef41Sopenharmony_ci "host": "", 89941cb0ef41Sopenharmony_ci "hostname": "", 89951cb0ef41Sopenharmony_ci "href": "non-special:x/%EF%BF%BFy", 89961cb0ef41Sopenharmony_ci "password": "", 89971cb0ef41Sopenharmony_ci "pathname": "x/%EF%BF%BFy", 89981cb0ef41Sopenharmony_ci "port": "", 89991cb0ef41Sopenharmony_ci "protocol": "non-special:", 90001cb0ef41Sopenharmony_ci "search": "", 90011cb0ef41Sopenharmony_ci "username": "" 90021cb0ef41Sopenharmony_ci }, 90031cb0ef41Sopenharmony_ci { 90041cb0ef41Sopenharmony_ci "input": "non-special:x/?\uFFFFy", 90051cb0ef41Sopenharmony_ci "base": null, 90061cb0ef41Sopenharmony_ci "hash": "", 90071cb0ef41Sopenharmony_ci "host": "", 90081cb0ef41Sopenharmony_ci "hostname": "", 90091cb0ef41Sopenharmony_ci "href": "non-special:x/?%EF%BF%BFy", 90101cb0ef41Sopenharmony_ci "password": "", 90111cb0ef41Sopenharmony_ci "pathname": "x/", 90121cb0ef41Sopenharmony_ci "port": "", 90131cb0ef41Sopenharmony_ci "protocol": "non-special:", 90141cb0ef41Sopenharmony_ci "search": "?%EF%BF%BFy", 90151cb0ef41Sopenharmony_ci "username": "" 90161cb0ef41Sopenharmony_ci }, 90171cb0ef41Sopenharmony_ci { 90181cb0ef41Sopenharmony_ci "input": "non-special:x/?#\uFFFFy", 90191cb0ef41Sopenharmony_ci "base": null, 90201cb0ef41Sopenharmony_ci "hash": "#%EF%BF%BFy", 90211cb0ef41Sopenharmony_ci "host": "", 90221cb0ef41Sopenharmony_ci "hostname": "", 90231cb0ef41Sopenharmony_ci "href": "non-special:x/?#%EF%BF%BFy", 90241cb0ef41Sopenharmony_ci "password": "", 90251cb0ef41Sopenharmony_ci "pathname": "x/", 90261cb0ef41Sopenharmony_ci "port": "", 90271cb0ef41Sopenharmony_ci "protocol": "non-special:", 90281cb0ef41Sopenharmony_ci "search": "", 90291cb0ef41Sopenharmony_ci "username": "" 90301cb0ef41Sopenharmony_ci }, 90311cb0ef41Sopenharmony_ci { 90321cb0ef41Sopenharmony_ci "input": "", 90331cb0ef41Sopenharmony_ci "base": null, 90341cb0ef41Sopenharmony_ci "failure": true, 90351cb0ef41Sopenharmony_ci "relativeTo": "non-opaque-path-base" 90361cb0ef41Sopenharmony_ci }, 90371cb0ef41Sopenharmony_ci { 90381cb0ef41Sopenharmony_ci "input": "https://example.com/\"quoted\"", 90391cb0ef41Sopenharmony_ci "base": null, 90401cb0ef41Sopenharmony_ci "hash": "", 90411cb0ef41Sopenharmony_ci "host": "example.com", 90421cb0ef41Sopenharmony_ci "hostname": "example.com", 90431cb0ef41Sopenharmony_ci "href": "https://example.com/%22quoted%22", 90441cb0ef41Sopenharmony_ci "origin": "https://example.com", 90451cb0ef41Sopenharmony_ci "password": "", 90461cb0ef41Sopenharmony_ci "pathname": "/%22quoted%22", 90471cb0ef41Sopenharmony_ci "port": "", 90481cb0ef41Sopenharmony_ci "protocol": "https:", 90491cb0ef41Sopenharmony_ci "search": "", 90501cb0ef41Sopenharmony_ci "username": "" 90511cb0ef41Sopenharmony_ci }, 90521cb0ef41Sopenharmony_ci { 90531cb0ef41Sopenharmony_ci "input": "https://a%C2%ADb/", 90541cb0ef41Sopenharmony_ci "base": null, 90551cb0ef41Sopenharmony_ci "hash": "", 90561cb0ef41Sopenharmony_ci "host": "ab", 90571cb0ef41Sopenharmony_ci "hostname": "ab", 90581cb0ef41Sopenharmony_ci "href": "https://ab/", 90591cb0ef41Sopenharmony_ci "origin": "https://ab", 90601cb0ef41Sopenharmony_ci "password": "", 90611cb0ef41Sopenharmony_ci "pathname": "/", 90621cb0ef41Sopenharmony_ci "port": "", 90631cb0ef41Sopenharmony_ci "protocol": "https:", 90641cb0ef41Sopenharmony_ci "search": "", 90651cb0ef41Sopenharmony_ci "username": "" 90661cb0ef41Sopenharmony_ci }, 90671cb0ef41Sopenharmony_ci { 90681cb0ef41Sopenharmony_ci "comment": "Empty host after domain to ASCII", 90691cb0ef41Sopenharmony_ci "input": "https://\u00AD/", 90701cb0ef41Sopenharmony_ci "base": null, 90711cb0ef41Sopenharmony_ci "failure": true 90721cb0ef41Sopenharmony_ci }, 90731cb0ef41Sopenharmony_ci { 90741cb0ef41Sopenharmony_ci "input": "https://%C2%AD/", 90751cb0ef41Sopenharmony_ci "base": null, 90761cb0ef41Sopenharmony_ci "failure": true 90771cb0ef41Sopenharmony_ci }, 90781cb0ef41Sopenharmony_ci { 90791cb0ef41Sopenharmony_ci "input": "https://xn--/", 90801cb0ef41Sopenharmony_ci "base": null, 90811cb0ef41Sopenharmony_ci "failure": true 90821cb0ef41Sopenharmony_ci }, 90831cb0ef41Sopenharmony_ci "Non-special schemes that some implementations might incorrectly treat as special", 90841cb0ef41Sopenharmony_ci { 90851cb0ef41Sopenharmony_ci "input": "data://example.com:8080/pathname?search#hash", 90861cb0ef41Sopenharmony_ci "base": null, 90871cb0ef41Sopenharmony_ci "href": "data://example.com:8080/pathname?search#hash", 90881cb0ef41Sopenharmony_ci "origin": "null", 90891cb0ef41Sopenharmony_ci "protocol": "data:", 90901cb0ef41Sopenharmony_ci "username": "", 90911cb0ef41Sopenharmony_ci "password": "", 90921cb0ef41Sopenharmony_ci "host": "example.com:8080", 90931cb0ef41Sopenharmony_ci "hostname": "example.com", 90941cb0ef41Sopenharmony_ci "port": "8080", 90951cb0ef41Sopenharmony_ci "pathname": "/pathname", 90961cb0ef41Sopenharmony_ci "search": "?search", 90971cb0ef41Sopenharmony_ci "hash": "#hash" 90981cb0ef41Sopenharmony_ci }, 90991cb0ef41Sopenharmony_ci { 91001cb0ef41Sopenharmony_ci "input": "data:///test", 91011cb0ef41Sopenharmony_ci "base": null, 91021cb0ef41Sopenharmony_ci "href": "data:///test", 91031cb0ef41Sopenharmony_ci "origin": "null", 91041cb0ef41Sopenharmony_ci "protocol": "data:", 91051cb0ef41Sopenharmony_ci "username": "", 91061cb0ef41Sopenharmony_ci "password": "", 91071cb0ef41Sopenharmony_ci "host": "", 91081cb0ef41Sopenharmony_ci "hostname": "", 91091cb0ef41Sopenharmony_ci "port": "", 91101cb0ef41Sopenharmony_ci "pathname": "/test", 91111cb0ef41Sopenharmony_ci "search": "", 91121cb0ef41Sopenharmony_ci "hash": "" 91131cb0ef41Sopenharmony_ci }, 91141cb0ef41Sopenharmony_ci { 91151cb0ef41Sopenharmony_ci "input": "data://test/a/../b", 91161cb0ef41Sopenharmony_ci "base": null, 91171cb0ef41Sopenharmony_ci "href": "data://test/b", 91181cb0ef41Sopenharmony_ci "origin": "null", 91191cb0ef41Sopenharmony_ci "protocol": "data:", 91201cb0ef41Sopenharmony_ci "username": "", 91211cb0ef41Sopenharmony_ci "password": "", 91221cb0ef41Sopenharmony_ci "host": "test", 91231cb0ef41Sopenharmony_ci "hostname": "test", 91241cb0ef41Sopenharmony_ci "port": "", 91251cb0ef41Sopenharmony_ci "pathname": "/b", 91261cb0ef41Sopenharmony_ci "search": "", 91271cb0ef41Sopenharmony_ci "hash": "" 91281cb0ef41Sopenharmony_ci }, 91291cb0ef41Sopenharmony_ci { 91301cb0ef41Sopenharmony_ci "input": "data://:443", 91311cb0ef41Sopenharmony_ci "base": null, 91321cb0ef41Sopenharmony_ci "failure": true 91331cb0ef41Sopenharmony_ci }, 91341cb0ef41Sopenharmony_ci { 91351cb0ef41Sopenharmony_ci "input": "data://test:test", 91361cb0ef41Sopenharmony_ci "base": null, 91371cb0ef41Sopenharmony_ci "failure": true 91381cb0ef41Sopenharmony_ci }, 91391cb0ef41Sopenharmony_ci { 91401cb0ef41Sopenharmony_ci "input": "data://[:1]", 91411cb0ef41Sopenharmony_ci "base": null, 91421cb0ef41Sopenharmony_ci "failure": true 91431cb0ef41Sopenharmony_ci }, 91441cb0ef41Sopenharmony_ci { 91451cb0ef41Sopenharmony_ci "input": "javascript://example.com:8080/pathname?search#hash", 91461cb0ef41Sopenharmony_ci "base": null, 91471cb0ef41Sopenharmony_ci "href": "javascript://example.com:8080/pathname?search#hash", 91481cb0ef41Sopenharmony_ci "origin": "null", 91491cb0ef41Sopenharmony_ci "protocol": "javascript:", 91501cb0ef41Sopenharmony_ci "username": "", 91511cb0ef41Sopenharmony_ci "password": "", 91521cb0ef41Sopenharmony_ci "host": "example.com:8080", 91531cb0ef41Sopenharmony_ci "hostname": "example.com", 91541cb0ef41Sopenharmony_ci "port": "8080", 91551cb0ef41Sopenharmony_ci "pathname": "/pathname", 91561cb0ef41Sopenharmony_ci "search": "?search", 91571cb0ef41Sopenharmony_ci "hash": "#hash" 91581cb0ef41Sopenharmony_ci }, 91591cb0ef41Sopenharmony_ci { 91601cb0ef41Sopenharmony_ci "input": "javascript:///test", 91611cb0ef41Sopenharmony_ci "base": null, 91621cb0ef41Sopenharmony_ci "href": "javascript:///test", 91631cb0ef41Sopenharmony_ci "origin": "null", 91641cb0ef41Sopenharmony_ci "protocol": "javascript:", 91651cb0ef41Sopenharmony_ci "username": "", 91661cb0ef41Sopenharmony_ci "password": "", 91671cb0ef41Sopenharmony_ci "host": "", 91681cb0ef41Sopenharmony_ci "hostname": "", 91691cb0ef41Sopenharmony_ci "port": "", 91701cb0ef41Sopenharmony_ci "pathname": "/test", 91711cb0ef41Sopenharmony_ci "search": "", 91721cb0ef41Sopenharmony_ci "hash": "" 91731cb0ef41Sopenharmony_ci }, 91741cb0ef41Sopenharmony_ci { 91751cb0ef41Sopenharmony_ci "input": "javascript://test/a/../b", 91761cb0ef41Sopenharmony_ci "base": null, 91771cb0ef41Sopenharmony_ci "href": "javascript://test/b", 91781cb0ef41Sopenharmony_ci "origin": "null", 91791cb0ef41Sopenharmony_ci "protocol": "javascript:", 91801cb0ef41Sopenharmony_ci "username": "", 91811cb0ef41Sopenharmony_ci "password": "", 91821cb0ef41Sopenharmony_ci "host": "test", 91831cb0ef41Sopenharmony_ci "hostname": "test", 91841cb0ef41Sopenharmony_ci "port": "", 91851cb0ef41Sopenharmony_ci "pathname": "/b", 91861cb0ef41Sopenharmony_ci "search": "", 91871cb0ef41Sopenharmony_ci "hash": "" 91881cb0ef41Sopenharmony_ci }, 91891cb0ef41Sopenharmony_ci { 91901cb0ef41Sopenharmony_ci "input": "javascript://:443", 91911cb0ef41Sopenharmony_ci "base": null, 91921cb0ef41Sopenharmony_ci "failure": true 91931cb0ef41Sopenharmony_ci }, 91941cb0ef41Sopenharmony_ci { 91951cb0ef41Sopenharmony_ci "input": "javascript://test:test", 91961cb0ef41Sopenharmony_ci "base": null, 91971cb0ef41Sopenharmony_ci "failure": true 91981cb0ef41Sopenharmony_ci }, 91991cb0ef41Sopenharmony_ci { 92001cb0ef41Sopenharmony_ci "input": "javascript://[:1]", 92011cb0ef41Sopenharmony_ci "base": null, 92021cb0ef41Sopenharmony_ci "failure": true 92031cb0ef41Sopenharmony_ci }, 92041cb0ef41Sopenharmony_ci { 92051cb0ef41Sopenharmony_ci "input": "mailto://example.com:8080/pathname?search#hash", 92061cb0ef41Sopenharmony_ci "base": null, 92071cb0ef41Sopenharmony_ci "href": "mailto://example.com:8080/pathname?search#hash", 92081cb0ef41Sopenharmony_ci "origin": "null", 92091cb0ef41Sopenharmony_ci "protocol": "mailto:", 92101cb0ef41Sopenharmony_ci "username": "", 92111cb0ef41Sopenharmony_ci "password": "", 92121cb0ef41Sopenharmony_ci "host": "example.com:8080", 92131cb0ef41Sopenharmony_ci "hostname": "example.com", 92141cb0ef41Sopenharmony_ci "port": "8080", 92151cb0ef41Sopenharmony_ci "pathname": "/pathname", 92161cb0ef41Sopenharmony_ci "search": "?search", 92171cb0ef41Sopenharmony_ci "hash": "#hash" 92181cb0ef41Sopenharmony_ci }, 92191cb0ef41Sopenharmony_ci { 92201cb0ef41Sopenharmony_ci "input": "mailto:///test", 92211cb0ef41Sopenharmony_ci "base": null, 92221cb0ef41Sopenharmony_ci "href": "mailto:///test", 92231cb0ef41Sopenharmony_ci "origin": "null", 92241cb0ef41Sopenharmony_ci "protocol": "mailto:", 92251cb0ef41Sopenharmony_ci "username": "", 92261cb0ef41Sopenharmony_ci "password": "", 92271cb0ef41Sopenharmony_ci "host": "", 92281cb0ef41Sopenharmony_ci "hostname": "", 92291cb0ef41Sopenharmony_ci "port": "", 92301cb0ef41Sopenharmony_ci "pathname": "/test", 92311cb0ef41Sopenharmony_ci "search": "", 92321cb0ef41Sopenharmony_ci "hash": "" 92331cb0ef41Sopenharmony_ci }, 92341cb0ef41Sopenharmony_ci { 92351cb0ef41Sopenharmony_ci "input": "mailto://test/a/../b", 92361cb0ef41Sopenharmony_ci "base": null, 92371cb0ef41Sopenharmony_ci "href": "mailto://test/b", 92381cb0ef41Sopenharmony_ci "origin": "null", 92391cb0ef41Sopenharmony_ci "protocol": "mailto:", 92401cb0ef41Sopenharmony_ci "username": "", 92411cb0ef41Sopenharmony_ci "password": "", 92421cb0ef41Sopenharmony_ci "host": "test", 92431cb0ef41Sopenharmony_ci "hostname": "test", 92441cb0ef41Sopenharmony_ci "port": "", 92451cb0ef41Sopenharmony_ci "pathname": "/b", 92461cb0ef41Sopenharmony_ci "search": "", 92471cb0ef41Sopenharmony_ci "hash": "" 92481cb0ef41Sopenharmony_ci }, 92491cb0ef41Sopenharmony_ci { 92501cb0ef41Sopenharmony_ci "input": "mailto://:443", 92511cb0ef41Sopenharmony_ci "base": null, 92521cb0ef41Sopenharmony_ci "failure": true 92531cb0ef41Sopenharmony_ci }, 92541cb0ef41Sopenharmony_ci { 92551cb0ef41Sopenharmony_ci "input": "mailto://test:test", 92561cb0ef41Sopenharmony_ci "base": null, 92571cb0ef41Sopenharmony_ci "failure": true 92581cb0ef41Sopenharmony_ci }, 92591cb0ef41Sopenharmony_ci { 92601cb0ef41Sopenharmony_ci "input": "mailto://[:1]", 92611cb0ef41Sopenharmony_ci "base": null, 92621cb0ef41Sopenharmony_ci "failure": true 92631cb0ef41Sopenharmony_ci }, 92641cb0ef41Sopenharmony_ci { 92651cb0ef41Sopenharmony_ci "input": "intent://example.com:8080/pathname?search#hash", 92661cb0ef41Sopenharmony_ci "base": null, 92671cb0ef41Sopenharmony_ci "href": "intent://example.com:8080/pathname?search#hash", 92681cb0ef41Sopenharmony_ci "origin": "null", 92691cb0ef41Sopenharmony_ci "protocol": "intent:", 92701cb0ef41Sopenharmony_ci "username": "", 92711cb0ef41Sopenharmony_ci "password": "", 92721cb0ef41Sopenharmony_ci "host": "example.com:8080", 92731cb0ef41Sopenharmony_ci "hostname": "example.com", 92741cb0ef41Sopenharmony_ci "port": "8080", 92751cb0ef41Sopenharmony_ci "pathname": "/pathname", 92761cb0ef41Sopenharmony_ci "search": "?search", 92771cb0ef41Sopenharmony_ci "hash": "#hash" 92781cb0ef41Sopenharmony_ci }, 92791cb0ef41Sopenharmony_ci { 92801cb0ef41Sopenharmony_ci "input": "intent:///test", 92811cb0ef41Sopenharmony_ci "base": null, 92821cb0ef41Sopenharmony_ci "href": "intent:///test", 92831cb0ef41Sopenharmony_ci "origin": "null", 92841cb0ef41Sopenharmony_ci "protocol": "intent:", 92851cb0ef41Sopenharmony_ci "username": "", 92861cb0ef41Sopenharmony_ci "password": "", 92871cb0ef41Sopenharmony_ci "host": "", 92881cb0ef41Sopenharmony_ci "hostname": "", 92891cb0ef41Sopenharmony_ci "port": "", 92901cb0ef41Sopenharmony_ci "pathname": "/test", 92911cb0ef41Sopenharmony_ci "search": "", 92921cb0ef41Sopenharmony_ci "hash": "" 92931cb0ef41Sopenharmony_ci }, 92941cb0ef41Sopenharmony_ci { 92951cb0ef41Sopenharmony_ci "input": "intent://test/a/../b", 92961cb0ef41Sopenharmony_ci "base": null, 92971cb0ef41Sopenharmony_ci "href": "intent://test/b", 92981cb0ef41Sopenharmony_ci "origin": "null", 92991cb0ef41Sopenharmony_ci "protocol": "intent:", 93001cb0ef41Sopenharmony_ci "username": "", 93011cb0ef41Sopenharmony_ci "password": "", 93021cb0ef41Sopenharmony_ci "host": "test", 93031cb0ef41Sopenharmony_ci "hostname": "test", 93041cb0ef41Sopenharmony_ci "port": "", 93051cb0ef41Sopenharmony_ci "pathname": "/b", 93061cb0ef41Sopenharmony_ci "search": "", 93071cb0ef41Sopenharmony_ci "hash": "" 93081cb0ef41Sopenharmony_ci }, 93091cb0ef41Sopenharmony_ci { 93101cb0ef41Sopenharmony_ci "input": "intent://:443", 93111cb0ef41Sopenharmony_ci "base": null, 93121cb0ef41Sopenharmony_ci "failure": true 93131cb0ef41Sopenharmony_ci }, 93141cb0ef41Sopenharmony_ci { 93151cb0ef41Sopenharmony_ci "input": "intent://test:test", 93161cb0ef41Sopenharmony_ci "base": null, 93171cb0ef41Sopenharmony_ci "failure": true 93181cb0ef41Sopenharmony_ci }, 93191cb0ef41Sopenharmony_ci { 93201cb0ef41Sopenharmony_ci "input": "intent://[:1]", 93211cb0ef41Sopenharmony_ci "base": null, 93221cb0ef41Sopenharmony_ci "failure": true 93231cb0ef41Sopenharmony_ci }, 93241cb0ef41Sopenharmony_ci { 93251cb0ef41Sopenharmony_ci "input": "urn://example.com:8080/pathname?search#hash", 93261cb0ef41Sopenharmony_ci "base": null, 93271cb0ef41Sopenharmony_ci "href": "urn://example.com:8080/pathname?search#hash", 93281cb0ef41Sopenharmony_ci "origin": "null", 93291cb0ef41Sopenharmony_ci "protocol": "urn:", 93301cb0ef41Sopenharmony_ci "username": "", 93311cb0ef41Sopenharmony_ci "password": "", 93321cb0ef41Sopenharmony_ci "host": "example.com:8080", 93331cb0ef41Sopenharmony_ci "hostname": "example.com", 93341cb0ef41Sopenharmony_ci "port": "8080", 93351cb0ef41Sopenharmony_ci "pathname": "/pathname", 93361cb0ef41Sopenharmony_ci "search": "?search", 93371cb0ef41Sopenharmony_ci "hash": "#hash" 93381cb0ef41Sopenharmony_ci }, 93391cb0ef41Sopenharmony_ci { 93401cb0ef41Sopenharmony_ci "input": "urn:///test", 93411cb0ef41Sopenharmony_ci "base": null, 93421cb0ef41Sopenharmony_ci "href": "urn:///test", 93431cb0ef41Sopenharmony_ci "origin": "null", 93441cb0ef41Sopenharmony_ci "protocol": "urn:", 93451cb0ef41Sopenharmony_ci "username": "", 93461cb0ef41Sopenharmony_ci "password": "", 93471cb0ef41Sopenharmony_ci "host": "", 93481cb0ef41Sopenharmony_ci "hostname": "", 93491cb0ef41Sopenharmony_ci "port": "", 93501cb0ef41Sopenharmony_ci "pathname": "/test", 93511cb0ef41Sopenharmony_ci "search": "", 93521cb0ef41Sopenharmony_ci "hash": "" 93531cb0ef41Sopenharmony_ci }, 93541cb0ef41Sopenharmony_ci { 93551cb0ef41Sopenharmony_ci "input": "urn://test/a/../b", 93561cb0ef41Sopenharmony_ci "base": null, 93571cb0ef41Sopenharmony_ci "href": "urn://test/b", 93581cb0ef41Sopenharmony_ci "origin": "null", 93591cb0ef41Sopenharmony_ci "protocol": "urn:", 93601cb0ef41Sopenharmony_ci "username": "", 93611cb0ef41Sopenharmony_ci "password": "", 93621cb0ef41Sopenharmony_ci "host": "test", 93631cb0ef41Sopenharmony_ci "hostname": "test", 93641cb0ef41Sopenharmony_ci "port": "", 93651cb0ef41Sopenharmony_ci "pathname": "/b", 93661cb0ef41Sopenharmony_ci "search": "", 93671cb0ef41Sopenharmony_ci "hash": "" 93681cb0ef41Sopenharmony_ci }, 93691cb0ef41Sopenharmony_ci { 93701cb0ef41Sopenharmony_ci "input": "urn://:443", 93711cb0ef41Sopenharmony_ci "base": null, 93721cb0ef41Sopenharmony_ci "failure": true 93731cb0ef41Sopenharmony_ci }, 93741cb0ef41Sopenharmony_ci { 93751cb0ef41Sopenharmony_ci "input": "urn://test:test", 93761cb0ef41Sopenharmony_ci "base": null, 93771cb0ef41Sopenharmony_ci "failure": true 93781cb0ef41Sopenharmony_ci }, 93791cb0ef41Sopenharmony_ci { 93801cb0ef41Sopenharmony_ci "input": "urn://[:1]", 93811cb0ef41Sopenharmony_ci "base": null, 93821cb0ef41Sopenharmony_ci "failure": true 93831cb0ef41Sopenharmony_ci }, 93841cb0ef41Sopenharmony_ci { 93851cb0ef41Sopenharmony_ci "input": "turn://example.com:8080/pathname?search#hash", 93861cb0ef41Sopenharmony_ci "base": null, 93871cb0ef41Sopenharmony_ci "href": "turn://example.com:8080/pathname?search#hash", 93881cb0ef41Sopenharmony_ci "origin": "null", 93891cb0ef41Sopenharmony_ci "protocol": "turn:", 93901cb0ef41Sopenharmony_ci "username": "", 93911cb0ef41Sopenharmony_ci "password": "", 93921cb0ef41Sopenharmony_ci "host": "example.com:8080", 93931cb0ef41Sopenharmony_ci "hostname": "example.com", 93941cb0ef41Sopenharmony_ci "port": "8080", 93951cb0ef41Sopenharmony_ci "pathname": "/pathname", 93961cb0ef41Sopenharmony_ci "search": "?search", 93971cb0ef41Sopenharmony_ci "hash": "#hash" 93981cb0ef41Sopenharmony_ci }, 93991cb0ef41Sopenharmony_ci { 94001cb0ef41Sopenharmony_ci "input": "turn:///test", 94011cb0ef41Sopenharmony_ci "base": null, 94021cb0ef41Sopenharmony_ci "href": "turn:///test", 94031cb0ef41Sopenharmony_ci "origin": "null", 94041cb0ef41Sopenharmony_ci "protocol": "turn:", 94051cb0ef41Sopenharmony_ci "username": "", 94061cb0ef41Sopenharmony_ci "password": "", 94071cb0ef41Sopenharmony_ci "host": "", 94081cb0ef41Sopenharmony_ci "hostname": "", 94091cb0ef41Sopenharmony_ci "port": "", 94101cb0ef41Sopenharmony_ci "pathname": "/test", 94111cb0ef41Sopenharmony_ci "search": "", 94121cb0ef41Sopenharmony_ci "hash": "" 94131cb0ef41Sopenharmony_ci }, 94141cb0ef41Sopenharmony_ci { 94151cb0ef41Sopenharmony_ci "input": "turn://test/a/../b", 94161cb0ef41Sopenharmony_ci "base": null, 94171cb0ef41Sopenharmony_ci "href": "turn://test/b", 94181cb0ef41Sopenharmony_ci "origin": "null", 94191cb0ef41Sopenharmony_ci "protocol": "turn:", 94201cb0ef41Sopenharmony_ci "username": "", 94211cb0ef41Sopenharmony_ci "password": "", 94221cb0ef41Sopenharmony_ci "host": "test", 94231cb0ef41Sopenharmony_ci "hostname": "test", 94241cb0ef41Sopenharmony_ci "port": "", 94251cb0ef41Sopenharmony_ci "pathname": "/b", 94261cb0ef41Sopenharmony_ci "search": "", 94271cb0ef41Sopenharmony_ci "hash": "" 94281cb0ef41Sopenharmony_ci }, 94291cb0ef41Sopenharmony_ci { 94301cb0ef41Sopenharmony_ci "input": "turn://:443", 94311cb0ef41Sopenharmony_ci "base": null, 94321cb0ef41Sopenharmony_ci "failure": true 94331cb0ef41Sopenharmony_ci }, 94341cb0ef41Sopenharmony_ci { 94351cb0ef41Sopenharmony_ci "input": "turn://test:test", 94361cb0ef41Sopenharmony_ci "base": null, 94371cb0ef41Sopenharmony_ci "failure": true 94381cb0ef41Sopenharmony_ci }, 94391cb0ef41Sopenharmony_ci { 94401cb0ef41Sopenharmony_ci "input": "turn://[:1]", 94411cb0ef41Sopenharmony_ci "base": null, 94421cb0ef41Sopenharmony_ci "failure": true 94431cb0ef41Sopenharmony_ci }, 94441cb0ef41Sopenharmony_ci { 94451cb0ef41Sopenharmony_ci "input": "stun://example.com:8080/pathname?search#hash", 94461cb0ef41Sopenharmony_ci "base": null, 94471cb0ef41Sopenharmony_ci "href": "stun://example.com:8080/pathname?search#hash", 94481cb0ef41Sopenharmony_ci "origin": "null", 94491cb0ef41Sopenharmony_ci "protocol": "stun:", 94501cb0ef41Sopenharmony_ci "username": "", 94511cb0ef41Sopenharmony_ci "password": "", 94521cb0ef41Sopenharmony_ci "host": "example.com:8080", 94531cb0ef41Sopenharmony_ci "hostname": "example.com", 94541cb0ef41Sopenharmony_ci "port": "8080", 94551cb0ef41Sopenharmony_ci "pathname": "/pathname", 94561cb0ef41Sopenharmony_ci "search": "?search", 94571cb0ef41Sopenharmony_ci "hash": "#hash" 94581cb0ef41Sopenharmony_ci }, 94591cb0ef41Sopenharmony_ci { 94601cb0ef41Sopenharmony_ci "input": "stun:///test", 94611cb0ef41Sopenharmony_ci "base": null, 94621cb0ef41Sopenharmony_ci "href": "stun:///test", 94631cb0ef41Sopenharmony_ci "origin": "null", 94641cb0ef41Sopenharmony_ci "protocol": "stun:", 94651cb0ef41Sopenharmony_ci "username": "", 94661cb0ef41Sopenharmony_ci "password": "", 94671cb0ef41Sopenharmony_ci "host": "", 94681cb0ef41Sopenharmony_ci "hostname": "", 94691cb0ef41Sopenharmony_ci "port": "", 94701cb0ef41Sopenharmony_ci "pathname": "/test", 94711cb0ef41Sopenharmony_ci "search": "", 94721cb0ef41Sopenharmony_ci "hash": "" 94731cb0ef41Sopenharmony_ci }, 94741cb0ef41Sopenharmony_ci { 94751cb0ef41Sopenharmony_ci "input": "stun://test/a/../b", 94761cb0ef41Sopenharmony_ci "base": null, 94771cb0ef41Sopenharmony_ci "href": "stun://test/b", 94781cb0ef41Sopenharmony_ci "origin": "null", 94791cb0ef41Sopenharmony_ci "protocol": "stun:", 94801cb0ef41Sopenharmony_ci "username": "", 94811cb0ef41Sopenharmony_ci "password": "", 94821cb0ef41Sopenharmony_ci "host": "test", 94831cb0ef41Sopenharmony_ci "hostname": "test", 94841cb0ef41Sopenharmony_ci "port": "", 94851cb0ef41Sopenharmony_ci "pathname": "/b", 94861cb0ef41Sopenharmony_ci "search": "", 94871cb0ef41Sopenharmony_ci "hash": "" 94881cb0ef41Sopenharmony_ci }, 94891cb0ef41Sopenharmony_ci { 94901cb0ef41Sopenharmony_ci "input": "stun://:443", 94911cb0ef41Sopenharmony_ci "base": null, 94921cb0ef41Sopenharmony_ci "failure": true 94931cb0ef41Sopenharmony_ci }, 94941cb0ef41Sopenharmony_ci { 94951cb0ef41Sopenharmony_ci "input": "stun://test:test", 94961cb0ef41Sopenharmony_ci "base": null, 94971cb0ef41Sopenharmony_ci "failure": true 94981cb0ef41Sopenharmony_ci }, 94991cb0ef41Sopenharmony_ci { 95001cb0ef41Sopenharmony_ci "input": "stun://[:1]", 95011cb0ef41Sopenharmony_ci "base": null, 95021cb0ef41Sopenharmony_ci "failure": true 95031cb0ef41Sopenharmony_ci }, 95041cb0ef41Sopenharmony_ci { 95051cb0ef41Sopenharmony_ci "input": "w://x:0", 95061cb0ef41Sopenharmony_ci "base": null, 95071cb0ef41Sopenharmony_ci "href": "w://x:0", 95081cb0ef41Sopenharmony_ci "origin": "null", 95091cb0ef41Sopenharmony_ci "protocol": "w:", 95101cb0ef41Sopenharmony_ci "username": "", 95111cb0ef41Sopenharmony_ci "password": "", 95121cb0ef41Sopenharmony_ci "host": "x:0", 95131cb0ef41Sopenharmony_ci "hostname": "x", 95141cb0ef41Sopenharmony_ci "port": "0", 95151cb0ef41Sopenharmony_ci "pathname": "", 95161cb0ef41Sopenharmony_ci "search": "", 95171cb0ef41Sopenharmony_ci "hash": "" 95181cb0ef41Sopenharmony_ci }, 95191cb0ef41Sopenharmony_ci { 95201cb0ef41Sopenharmony_ci "input": "west://x:0", 95211cb0ef41Sopenharmony_ci "base": null, 95221cb0ef41Sopenharmony_ci "href": "west://x:0", 95231cb0ef41Sopenharmony_ci "origin": "null", 95241cb0ef41Sopenharmony_ci "protocol": "west:", 95251cb0ef41Sopenharmony_ci "username": "", 95261cb0ef41Sopenharmony_ci "password": "", 95271cb0ef41Sopenharmony_ci "host": "x:0", 95281cb0ef41Sopenharmony_ci "hostname": "x", 95291cb0ef41Sopenharmony_ci "port": "0", 95301cb0ef41Sopenharmony_ci "pathname": "", 95311cb0ef41Sopenharmony_ci "search": "", 95321cb0ef41Sopenharmony_ci "hash": "" 95331cb0ef41Sopenharmony_ci } 95341cb0ef41Sopenharmony_ci] 9535