@@ -217,15 +217,7 @@ var tests = []a{
217217 a {
218218 a {m {}, nil },
219219 a {m {"test" : "abc" }, "/abc" },
220- a {
221- m {"test" : "a+b" },
222- "/a+b" ,
223- & Options {
224- Encode : func (uri string , token interface {}) string {
225- return uri
226- },
227- },
228- },
220+ a {m {"test" : "a+b" }, "/a+b" },
229221 a {
230222 m {"test" : "a+b" },
231223 "/test" ,
@@ -238,7 +230,7 @@ var tests = []a{
238230 },
239231 },
240232 },
241- a {m {"test" : "a+b" }, "/a%2Bb" },
233+ a {m {"test" : "a+b" }, "/a%2Bb" , & Options { Encode : encodeURIComponent } },
242234 },
243235 },
244236 {
@@ -346,15 +338,7 @@ var tests = []a{
346338 a {
347339 a {m {}, nil },
348340 a {m {"test" : "abc" }, "/abc" },
349- a {
350- m {"test" : "a+b" },
351- "/a+b" ,
352- & Options {
353- Encode : func (uri string , token interface {}) string {
354- return uri
355- },
356- },
357- },
341+ a {m {"test" : "a+b" }, "/a+b" },
358342 a {
359343 m {"test" : "a+b" },
360344 "/test" ,
@@ -367,7 +351,7 @@ var tests = []a{
367351 },
368352 },
369353 },
370- a {m {"test" : "a+b" }, "/a%2Bb" },
354+ a {m {"test" : "a+b" }, "/a%2Bb" , & Options { Encode : encodeURIComponent } },
371355 },
372356 },
373357 {
@@ -690,8 +674,16 @@ var tests = []a{
690674 },
691675 a {
692676 a {m {"test" : "route" }, "/route" },
693- a {m {"test" : "something/else" }, "/something%2Felse" },
694- a {m {"test" : "something/else/more" }, "/something%2Felse%2Fmore" },
677+ a {
678+ m {"test" : "something/else" },
679+ "/something%2Felse" ,
680+ & Options {Encode : encodeURIComponent },
681+ },
682+ a {
683+ m {"test" : "something/else/more" },
684+ "/something%2Felse%2Fmore" ,
685+ & Options {Encode : encodeURIComponent },
686+ },
695687 },
696688 },
697689 {
@@ -1175,8 +1167,8 @@ var tests = []a{
11751167 a {
11761168 a {m {"test" : "" }, "/" },
11771169 a {m {"test" : "abc" }, "/abc" },
1178- a {m {"test" : "abc/123" }, "/abc%2F123" },
1179- a {m {"test" : "abc/123/456" }, "/abc%2F123%2F456" },
1170+ a {m {"test" : "abc/123" }, "/abc%2F123" , & Options { Encode : encodeURIComponent } },
1171+ a {m {"test" : "abc/123/456" }, "/abc%2F123%2F456" , & Options { Encode : encodeURIComponent } },
11801172 },
11811173 },
11821174 {
@@ -2240,7 +2232,7 @@ var tests = []a{
22402232 },
22412233 a {
22422234 a {m {"foo" : "foo" }, "/foobaz" },
2243- a {m {"foo" : "foo/bar" }, "/foo%2Fbarbaz" },
2235+ a {m {"foo" : "foo/bar" }, "/foo%2Fbarbaz" , & Options { Encode : encodeURIComponent } },
22442236 a {m {"foo" : a {"foo" , "bar" }}, "/foo/barbaz" },
22452237 },
22462238 },
@@ -2420,7 +2412,8 @@ var tests = []a{
24202412 a {"/café" , a {"/café" , "café" }},
24212413 },
24222414 a {
2423- a {m {"foo" : "café" }, "/caf%C3%A9" },
2415+ a {m {"foo" : "café" }, "/café" },
2416+ a {m {"foo" : "café" }, "/caf%C3%A9" , & Options {Encode : encodeURIComponent }},
24242417 },
24252418 },
24262419 {
@@ -2436,6 +2429,21 @@ var tests = []a{
24362429 a {nil , "/café" },
24372430 },
24382431 },
2432+ {
2433+ "/café" ,
2434+ & Options {Encode : func (uri string , token interface {}) string {
2435+ return encodeURI (uri )
2436+ }},
2437+ a {
2438+ "/café" ,
2439+ },
2440+ a {
2441+ a {"/caf%C3%A9" , a {"/caf%C3%A9" }},
2442+ },
2443+ a {
2444+ a {nil , "/café" },
2445+ },
2446+ },
24392447 {
24402448 "packages/" ,
24412449 nil ,
@@ -3163,40 +3171,6 @@ func TestPathToRegexp(t *testing.T) {
31633171 })
31643172 })
31653173
3166- t .Run ("normalize pathname" , func (t * testing.T ) {
3167- t .Run ("should match normalized pathnames" , func (t * testing.T ) {
3168- re := Must (PathToRegexp ("/caf\u00E9 " , nil , nil ))
3169- input := encodeURI ("/cafe\u0301 " )
3170-
3171- result := exec (re , input )
3172- if result != nil {
3173- t .Errorf ("got %v want %v" , result , nil )
3174- }
3175-
3176- want := []string {"/caf\u00E9 " }
3177- result = exec (re , normalize (NormalizePathname (input )))
3178- if ! reflect .DeepEqual (result , want ) {
3179- t .Errorf ("got %v want %v" , result , want )
3180- }
3181- })
3182-
3183- t .Run ("should not normalize encoded slash" , func (t * testing.T ) {
3184- input , want := "/test/route%2F" , "/test/route%2F"
3185- result := NormalizePathname (input )
3186- if result != want {
3187- t .Errorf ("got %s want %s" , result , want )
3188- }
3189- })
3190-
3191- t .Run ("should fix repeated slashes" , func (t * testing.T ) {
3192- input , want := encodeURI ("/test///route" ), "/test/route"
3193- result := NormalizePathname (input )
3194- if result != want {
3195- t .Errorf ("got %s want %s" , result , want )
3196- }
3197- })
3198- })
3199-
32003174 t .Run ("path should be string, or strings, or a regular expression" , func (t * testing.T ) {
32013175 _ , err := PathToRegexp (123 , nil , nil )
32023176 if err == nil {
0 commit comments