11package compress
22
33import (
4+ "path"
45 "reflect"
56 "testing"
67)
@@ -17,7 +18,7 @@ func TestGetCompressor(t *testing.T) {
1718 }{{
1819 name : "unknown type" ,
1920 args : args {extension : ".xdf" },
20- want : NewGZip ( nil ) ,
21+ want : nil ,
2122 }, {
2223 name : ".zip" ,
2324 args : args {extension : ".zip" },
@@ -26,6 +27,10 @@ func TestGetCompressor(t *testing.T) {
2627 name : ".xz" ,
2728 args : args {extension : ".xz" },
2829 want : NewXz (nil ),
30+ }, {
31+ name : ".tar.gz" ,
32+ args : args {extension : ".tar.gz" },
33+ want : NewGZip (nil ),
2934 }}
3035 for _ , tt := range tests {
3136 t .Run (tt .name , func (t * testing.T ) {
@@ -35,3 +40,33 @@ func TestGetCompressor(t *testing.T) {
3540 })
3641 }
3742}
43+
44+ func TestIsSupport (t * testing.T ) {
45+ type args struct {
46+ extension string
47+ }
48+ tests := []struct {
49+ name string
50+ args args
51+ want bool
52+ }{{
53+ name : "supported extension: .tar.gz" ,
54+ args : args {
55+ extension : path .Ext ("test.tar.gz" ),
56+ },
57+ want : true ,
58+ }, {
59+ name : "not supported extension: .ab" ,
60+ args : args {
61+ extension : path .Ext ("test.ab" ),
62+ },
63+ want : false ,
64+ }}
65+ for _ , tt := range tests {
66+ t .Run (tt .name , func (t * testing.T ) {
67+ if got := IsSupport (tt .args .extension ); got != tt .want {
68+ t .Errorf ("IsSupport() = %v, want %v" , got , tt .want )
69+ }
70+ })
71+ }
72+ }
0 commit comments