@@ -13,34 +13,61 @@ func TestHelperParseURL(t *testing.T) {
13
13
expectedURL string
14
14
err error
15
15
}{
16
- {url : "foobar.docker.io" , expectedURL : "//foobar.docker.io" },
17
- {url : "foobar.docker.io:2376" , expectedURL : "//foobar.docker.io:2376" },
18
- {url : "//foobar.docker.io:2376" , expectedURL : "//foobar.docker.io:2376" },
19
- {url : "http://foobar.docker.io:2376" , expectedURL : "http://foobar.docker.io:2376" },
20
- {url : "https://foobar.docker.io:2376" , expectedURL : "https://foobar.docker.io:2376" },
21
- {url : "https://foobar.docker.io:2376/some/path" , expectedURL : "https://foobar.docker.io:2376/some/path" },
22
- {url : "https://foobar.docker.io:2376/some/other/path?foo=bar" , expectedURL : "https://foobar.docker.io:2376/some/other/path" },
23
- {url : "/foobar.docker.io" , err : errors .New ("no hostname in URL" )},
24
- {url : "ftp://foobar.docker.io:2376" , err : errors .New ("unsupported scheme: ftp" )},
16
+ {
17
+ url : "foobar.docker.io" ,
18
+ expectedURL : "//foobar.docker.io" ,
19
+ },
20
+ {
21
+ url : "foobar.docker.io:2376" ,
22
+ expectedURL : "//foobar.docker.io:2376" ,
23
+ },
24
+ {
25
+ url : "//foobar.docker.io:2376" ,
26
+ expectedURL : "//foobar.docker.io:2376" ,
27
+ },
28
+ {
29
+ url : "http://foobar.docker.io:2376" ,
30
+ expectedURL : "http://foobar.docker.io:2376" ,
31
+ },
32
+ {
33
+ url : "https://foobar.docker.io:2376" ,
34
+ expectedURL : "https://foobar.docker.io:2376" ,
35
+ },
36
+ {
37
+ url : "https://foobar.docker.io:2376/some/path" ,
38
+ expectedURL : "https://foobar.docker.io:2376/some/path" ,
39
+ },
40
+ {
41
+ url : "https://foobar.docker.io:2376/some/other/path?foo=bar" ,
42
+ expectedURL : "https://foobar.docker.io:2376/some/other/path" ,
43
+ },
44
+ {
45
+ url : "/foobar.docker.io" ,
46
+ err : errors .New ("no hostname in URL" ),
47
+ },
48
+ {
49
+ url : "ftp://foobar.docker.io:2376" ,
50
+ err : errors .New ("unsupported scheme: ftp" ),
51
+ },
25
52
}
26
53
27
54
for _ , tc := range tests {
28
- u , err := Parse (tc .url )
55
+ tc := tc
56
+ t .Run (tc .url , func (t * testing.T ) {
57
+ u , err := Parse (tc .url )
29
58
30
- if tc .err == nil && err != nil {
31
- t .Errorf ("Error: failed to parse URL %q: %s" , tc .url , err )
32
- continue
33
- }
34
- if tc .err != nil && err == nil {
35
- t .Errorf ("Error: expected error %q, got none when parsing URL %q" , tc .err , tc .url )
36
- continue
37
- }
38
- if tc .err != nil && err .Error () != tc .err .Error () {
39
- t .Errorf ("Error: expected error %q, got %q when parsing URL %q" , tc .err , err , tc .url )
40
- continue
41
- }
42
- if u != nil && u .String () != tc .expectedURL {
43
- t .Errorf ("Error: expected URL: %q, but got %q for URL: %q" , tc .expectedURL , u .String (), tc .url )
44
- }
59
+ if tc .err == nil && err != nil {
60
+ t .Fatalf ("Error: failed to parse URL %q: %s" , tc .url , err )
61
+ }
62
+ if tc .err != nil && err == nil {
63
+ t .Fatalf ("Error: expected error %q, got none when parsing URL %q" , tc .err , tc .url )
64
+ }
65
+ if tc .err != nil && err .Error () != tc .err .Error () {
66
+ t .Fatalf ("Error: expected error %q, got %q when parsing URL %q" , tc .err , err , tc .url )
67
+ }
68
+ if u != nil && u .String () != tc .expectedURL {
69
+ t .Errorf ("Error: expected URL: %q, but got %q for URL: %q" , tc .expectedURL , u .String (), tc .url )
70
+ }
71
+ })
45
72
}
46
73
}
0 commit comments