github.com/ladydascalie/elvish@v0.0.0-20170703214355-2964dd3ece7f/util/fullnames_test.go (about) 1 package util 2 3 import ( 4 "os/exec" 5 "reflect" 6 "sort" 7 "strings" 8 "testing" 9 ) 10 11 func ls(dir string) []string { 12 // BUG: will fail if there are filenames containing newlines. 13 output, err := exec.Command("ls", dir).Output() 14 mustOK(err) 15 names := strings.Split(strings.Trim(string(output), "\n"), "\n") 16 for i := range names { 17 names[i] = dir + names[i] 18 } 19 sort.Strings(names) 20 return names 21 } 22 23 func TestFullNames(t *testing.T) { 24 for _, dir := range []string{"/", "/usr/"} { 25 wantNames := ls(dir) 26 names := FullNames(dir) 27 if !reflect.DeepEqual(names, wantNames) { 28 t.Errorf(`FullNames(%q) -> %s, want %s`, dir, names, wantNames) 29 } 30 } 31 }