diff options
Diffstat (limited to 'pkg/ext/compression_test.go')
| -rw-r--r-- | pkg/ext/compression_test.go | 42 | 
1 files changed, 42 insertions, 0 deletions
diff --git a/pkg/ext/compression_test.go b/pkg/ext/compression_test.go new file mode 100644 index 0000000..6424378 --- /dev/null +++ b/pkg/ext/compression_test.go @@ -0,0 +1,42 @@ +// go:build unit +package ext + +import "testing" + +func TestGetCompression(t *testing.T) { +	testCases := []struct { +		name        string +		header      string +		compression string +	}{ +		{ +			name:        "Empty", +			header:      "", +			compression: "*", +		}, +		{ +			name:        "Weighted", +			header:      "gzip;q=1.0, *;q=0.5", +			compression: "gzip", +		}, +		{ +			name:        "Mixed", +			header:      "deflate, gzip;q=1.0, *;q=0.5", +			compression: "deflate", +		}, +		{ +			name:        "Not weighted", +			header:      "zstd, deflate, gzip", +			compression: "zstd", +		}, +	} + +	for _, tc := range testCases { +		t.Run(tc.name, func(t *testing.T) { +			got := GetCompression(tc.header) +			if got != tc.compression { +				t.Errorf("Wrong compression returned: got %s want %s", got, tc.compression) +			} +		}) +	} +}  | 
