cerrado @ 8a237e0cfea615747976d03ed1a6b1a932e5fa86

 1// go:build unit
 2package ext
 3
 4import "testing"
 5
 6func TestGetCompression(t *testing.T) {
 7	testCases := []struct {
 8		name        string
 9		header      string
10		compression string
11	}{
12		{
13			name:        "Empty",
14			header:      "",
15			compression: "*",
16		},
17		{
18			name:        "Weighted",
19			header:      "gzip;q=1.0, *;q=0.5",
20			compression: "gzip",
21		},
22		{
23			name:        "Mixed",
24			header:      "deflate, gzip;q=1.0, *;q=0.5",
25			compression: "deflate",
26		},
27		{
28			name:        "Not weighted",
29			header:      "zstd, deflate, gzip",
30			compression: "zstd",
31		},
32	}
33
34	for _, tc := range testCases {
35		t.Run(tc.name, func(t *testing.T) {
36			got := GetCompression(tc.header)
37			if got != tc.compression {
38				t.Errorf("Wrong compression returned: got %s want %s", got, tc.compression)
39			}
40		})
41	}
42}