File tree Expand file tree Collapse file tree 2 files changed +34
-5
lines changed
Expand file tree Collapse file tree 2 files changed +34
-5
lines changed Original file line number Diff line number Diff line change 1212 equalRegexp = regexp .MustCompile (` *= *` )
1313 keyRegexp = regexp .MustCompile (`[a-z*]+` )
1414 linkRegexp = regexp .MustCompile (`\A<(.+)>;(.+)\z` )
15- semiRegexp = regexp .MustCompile (`; + ` )
15+ semiRegexp = regexp .MustCompile (`;\s{0,} ` )
1616 valRegexp = regexp .MustCompile (`"+([^"]+)"+` )
1717)
1818
@@ -86,15 +86,14 @@ func Parse(s string) Group {
8686 continue
8787 }
8888
89+ val := strings .TrimSpace (vals [1 ])
8990 key := keyRegexp .FindString (vals [0 ])
9091 vsm := valRegexp .FindStringSubmatch (vals [1 ])
9192
92- if len (vsm ) ! = 2 {
93- continue
93+ if len (vsm ) = = 2 {
94+ val = vsm [ 1 ]
9495 }
9596
96- val := vsm [1 ]
97-
9897 if key == "rel" {
9998 vals := strings .Split (val , " " )
10099 rels := []string {vals [0 ]}
Original file line number Diff line number Diff line change @@ -301,6 +301,36 @@ func TestParse_rfc5988Example4(t *testing.T) {
301301 }
302302}
303303
304+ func TestParse_noQuotesExample (t * testing.T ) {
305+ g := Parse (`</example.png>;rel=preload;as=image` )
306+
307+ if got , want := len (g ), 1 ; got != want {
308+ t .Fatalf (`len(g) = %d, want %d` , got , want )
309+ }
310+
311+ if g ["preload" ] == nil {
312+ t .Fatalf (`g["preload"] == nil` )
313+ }
314+
315+ l := * g ["preload" ]
316+
317+ if got , want := l .URI , "/example.png" ; got != want {
318+ t .Fatalf ("l.URI = %q, want = %q" , got , want )
319+ }
320+
321+ if got , want := l .Rel , "preload" ; got != want {
322+ t .Fatalf ("l.Rel = %q, want = %q" , got , want )
323+ }
324+
325+ if l .Extra == nil {
326+ t .Fatalf ("l.Extra == nil" )
327+ }
328+
329+ if got , want := l .Extra ["as" ], "image" ; got != want {
330+ t .Fatalf ("l.Extra[\" as\" ] = %q, want %q" , got , want )
331+ }
332+ }
333+
304334func TestParse_fuzzCrashers (t * testing.T ) {
305335 t .Parallel ()
306336
You can’t perform that action at this time.
0 commit comments