github.com/andresbott/yamlfmt@v0.1.0/internal/filematch/filematch_test.go (about) 1 package filematch 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/google/go-cmp/cmp" 8 ) 9 10 func TestParseGlob(t *testing.T) { 11 12 tcs := []struct { 13 name string 14 in string 15 expect []string 16 }{ 17 { 18 name: "assert alias ./", 19 in: "./", 20 expect: []string{ 21 "main.yaml", 22 "other.yml", 23 }, 24 }, 25 { 26 name: "assert default to ./", 27 in: "", 28 expect: []string{ 29 "main.yaml", 30 "other.yml", 31 }, 32 }, 33 { 34 name: "assert alias ./..", 35 in: "./..", 36 expect: []string{ 37 "main.yaml", 38 "fruits/banana/banana.yaml", 39 "other.yml", 40 "sub1/sub2/sub.yml", 41 }, 42 }, 43 { 44 name: "assert single file", 45 in: "fruits/banana/banana.yaml", 46 expect: []string{ 47 "fruits/banana/banana.yaml", 48 }, 49 }, 50 { 51 name: "assert directory", 52 in: "fruits/banana/", 53 expect: []string{ 54 "fruits/banana/banana.yaml", 55 }, 56 }, 57 } 58 59 for _, tc := range tcs { 60 t.Run(tc.name, func(t *testing.T) { 61 62 os.Chdir("./sampledata") 63 got, err := FindFiles(tc.in) 64 if err != nil { 65 t.Fatalf("unexpected error %v", err) 66 } 67 os.Chdir("..") 68 if diff := cmp.Diff(got, tc.expect); diff != "" { 69 t.Errorf("unexpected value (-got +want)\n%s", diff) 70 } 71 }) 72 } 73 }