|  | 
| 1121 | 1121 |       "hostname": { "input": "xn--caf-dma.com", "groups": {}} | 
| 1122 | 1122 |     } | 
| 1123 | 1123 |   }, | 
|  | 1124 | +  { | 
|  | 1125 | +    "pattern": ["http://\uD83D\uDEB2.com/"], | 
|  | 1126 | +    "inputs": ["http://\uD83D\uDEB2.com/"], | 
|  | 1127 | +    "exactly_empty_components": [ "port" ], | 
|  | 1128 | +    "expected_obj": { | 
|  | 1129 | +      "protocol": "http", | 
|  | 1130 | +      "hostname": "xn--h78h.com", | 
|  | 1131 | +      "pathname": "/" | 
|  | 1132 | +    }, | 
|  | 1133 | +    "expected_match": { | 
|  | 1134 | +      "protocol": { "input": "http", "groups": {}}, | 
|  | 1135 | +      "hostname": { "input": "xn--h78h.com", "groups": {}}, | 
|  | 1136 | +      "pathname": { "input": "/", "groups": {}} | 
|  | 1137 | +    } | 
|  | 1138 | +  }, | 
|  | 1139 | +  { | 
|  | 1140 | +    "pattern": ["http://\uD83D \uDEB2"], | 
|  | 1141 | +    "expected_obj": "error" | 
|  | 1142 | +  }, | 
|  | 1143 | +  { | 
|  | 1144 | +    "pattern": [{"hostname":"\uD83D \uDEB2"}], | 
|  | 1145 | +    "expected_obj": "error" | 
|  | 1146 | +  }, | 
|  | 1147 | +  { | 
|  | 1148 | +    "pattern": [{"pathname":"\uD83D \uDEB2"}], | 
|  | 1149 | +    "inputs": [], | 
|  | 1150 | +    "expected_obj": { | 
|  | 1151 | +      "pathname": "%EF%BF%BD%20%EF%BF%BD" | 
|  | 1152 | +    }, | 
|  | 1153 | +    "expected_match": null | 
|  | 1154 | +  }, | 
|  | 1155 | +  { | 
|  | 1156 | +    "pattern": [{"pathname":":\uD83D \uDEB2"}], | 
|  | 1157 | +    "expected_obj": "error" | 
|  | 1158 | +  }, | 
| 1124 | 1159 |   { | 
| 1125 | 1160 |     "pattern": [{"pathname":":a\uDB40\uDD00b"}], | 
| 1126 | 1161 |     "inputs": [], | 
|  | 
| 1439 | 1474 |       "pathname": { "input": "8675309", "groups": { "number": "8675309" }} | 
| 1440 | 1475 |     } | 
| 1441 | 1476 |   }, | 
|  | 1477 | +  { | 
|  | 1478 | +    "pattern": [{ "pathname": "/(\\m)" }], | 
|  | 1479 | +    "expected_obj": "error" | 
|  | 1480 | +  }, | 
| 1442 | 1481 |   { | 
| 1443 | 1482 |     "pattern": [{ "pathname": "/foo!" }], | 
| 1444 | 1483 |     "inputs": [{ "pathname": "/foo!" }], | 
|  | 
| 2928 | 2967 |       "search": { "input": "q=*&v=?&hmm={}&umm=()", "groups": {} }, | 
| 2929 | 2968 |       "hash": { "input": "foo", "groups": {} } | 
| 2930 | 2969 |     } | 
|  | 2970 | +  }, | 
|  | 2971 | +  { | 
|  | 2972 | +    "pattern": [{ "pathname": "/([[a-z]--a])" }], | 
|  | 2973 | +    "inputs": [{ "pathname": "/a" }], | 
|  | 2974 | +    "expected_match": null | 
|  | 2975 | +  }, | 
|  | 2976 | +  { | 
|  | 2977 | +    "pattern": [{ "pathname": "/([[a-z]--a])" }], | 
|  | 2978 | +    "inputs": [{ "pathname": "/z" }], | 
|  | 2979 | +    "expected_match": { | 
|  | 2980 | +      "pathname": { "input": "/z", "groups": { "0": "z" } } | 
|  | 2981 | +    } | 
|  | 2982 | +  }, | 
|  | 2983 | +    { | 
|  | 2984 | +    "pattern": [{ "pathname": "/([\\d&&[0-1]])" }], | 
|  | 2985 | +    "inputs": [{ "pathname": "/0" }], | 
|  | 2986 | +    "expected_match": { | 
|  | 2987 | +      "pathname": { "input": "/0", "groups": { "0": "0" } } | 
|  | 2988 | +    } | 
|  | 2989 | +  }, | 
|  | 2990 | +  { | 
|  | 2991 | +    "pattern": [{ "pathname": "/([\\d&&[0-1]])" }], | 
|  | 2992 | +    "inputs": [{ "pathname": "/3" }], | 
|  | 2993 | +    "expected_match": null | 
|  | 2994 | +  }, | 
|  | 2995 | +  { | 
|  | 2996 | +    "pattern": [{ "protocol": "http", "hostname": "example.com/ignoredpath" }], | 
|  | 2997 | +    "inputs": ["http://example.com/"], | 
|  | 2998 | +    "expected_obj": { | 
|  | 2999 | +      "protocol": "http", | 
|  | 3000 | +      "hostname": "example.com", | 
|  | 3001 | +      "pathname": "*" | 
|  | 3002 | +    }, | 
|  | 3003 | +    "expected_match": { | 
|  | 3004 | +      "protocol": { "input": "http", "groups": {} }, | 
|  | 3005 | +      "hostname": { "input": "example.com", "groups": {} }, | 
|  | 3006 | +      "pathname": { "input": "/", "groups": { "0": "/" } } | 
|  | 3007 | +    } | 
|  | 3008 | +  }, | 
|  | 3009 | +  { | 
|  | 3010 | +    "pattern": [{ "protocol": "http", "hostname": "example.com\\?ignoredsearch" }], | 
|  | 3011 | +    "inputs": ["http://example.com/"], | 
|  | 3012 | +    "expected_obj": { | 
|  | 3013 | +      "protocol": "http", | 
|  | 3014 | +      "hostname": "example.com", | 
|  | 3015 | +      "search": "*" | 
|  | 3016 | +    }, | 
|  | 3017 | +    "expected_match": { | 
|  | 3018 | +      "protocol": { "input": "http", "groups": {} }, | 
|  | 3019 | +      "hostname": { "input": "example.com", "groups": {} }, | 
|  | 3020 | +      "pathname": { "input": "/", "groups": { "0": "/" } } | 
|  | 3021 | +    } | 
|  | 3022 | +  }, | 
|  | 3023 | +  { | 
|  | 3024 | +    "pattern": [{ "protocol": "http", "hostname": "example.com#ignoredhash" }], | 
|  | 3025 | +    "inputs": ["http://example.com/"], | 
|  | 3026 | +    "expected_obj": { | 
|  | 3027 | +      "protocol": "http", | 
|  | 3028 | +      "hostname": "example.com", | 
|  | 3029 | +      "hash": "*" | 
|  | 3030 | +    }, | 
|  | 3031 | +    "expected_match": { | 
|  | 3032 | +      "protocol": { "input": "http", "groups": {} }, | 
|  | 3033 | +      "hostname": { "input": "example.com", "groups": {} }, | 
|  | 3034 | +      "pathname": { "input": "/", "groups": { "0": "/" } } | 
|  | 3035 | +    } | 
| 2931 | 3036 |   } | 
| 2932 | 3037 | ] | 
0 commit comments