@@ -105,31 +105,49 @@ func TestHashZip(t *testing.T) {
105105}
106106
107107func TestDirFiles (t * testing.T ) {
108- dir , err := ioutil .TempDir ("" , "dirfiles-test-" )
109- if err != nil {
110- t .Fatal (err )
111- }
112- defer os .RemoveAll (dir )
113- if err := ioutil .WriteFile (filepath .Join (dir , "xyz" ), []byte ("data for xyz" ), 0666 ); err != nil {
114- t .Fatal (err )
115- }
116- if err := ioutil .WriteFile (filepath .Join (dir , "abc" ), []byte ("data for abc" ), 0666 ); err != nil {
117- t .Fatal (err )
118- }
119- if err := os .Mkdir (filepath .Join (dir , "subdir" ), 0777 ); err != nil {
120- t .Fatal (err )
121- }
122- if err := ioutil .WriteFile (filepath .Join (dir , "subdir" , "xyz" ), []byte ("data for subdir xyz" ), 0666 ); err != nil {
123- t .Fatal (err )
124- }
125- 126- out , err := DirFiles (dir , prefix )
127- if err != nil {
128- t .Fatalf ("DirFiles: %v" , err )
129- }
130- for _ , file := range out {
131- if ! strings .HasPrefix (file , prefix ) {
132- t .Errorf ("Dir file = %s, want prefix %s" , file , prefix )
108+ t .Run ("valid directory with files" , func (t * testing.T ) {
109+ dir , err := ioutil .TempDir ("" , "dirfiles-test-" )
110+ if err != nil {
111+ t .Fatal (err )
133112 }
134- }
113+ defer os .RemoveAll (dir )
114+ if err := ioutil .WriteFile (filepath .Join (dir , "xyz" ), []byte ("data for xyz" ), 0666 ); err != nil {
115+ t .Fatal (err )
116+ }
117+ if err := ioutil .WriteFile (filepath .Join (dir , "abc" ), []byte ("data for abc" ), 0666 ); err != nil {
118+ t .Fatal (err )
119+ }
120+ if err := os .Mkdir (filepath .Join (dir , "subdir" ), 0777 ); err != nil {
121+ t .Fatal (err )
122+ }
123+ if err := ioutil .WriteFile (filepath .Join (dir , "subdir" , "xyz" ), []byte ("data for subdir xyz" ), 0666 ); err != nil {
124+ t .Fatal (err )
125+ }
126+ 127+ out , err := DirFiles (dir , prefix )
128+ if err != nil {
129+ t .Fatalf ("DirFiles: %v" , err )
130+ }
131+ for _ , file := range out {
132+ if ! strings .HasPrefix (file , prefix ) {
133+ t .Errorf ("Dir file = %s, want prefix %s" , file , prefix )
134+ }
135+ }
136+ })
137+
138+ t .Run ("invalid directory" , func (t * testing.T ) {
139+ path := filepath .Join (t .TempDir (), "not-a-directory.txt" )
140+ if err := os .WriteFile (path , []byte ("This is a file." ), 0644 ); err != nil {
141+ t .Fatal (err )
142+ }
143+ defer os .RemoveAll (path )
144+
145+ out , err := DirFiles (path , "" )
146+ if err == nil {
147+ t .Errorf ("DirFiles(...) = %v, expected an error" , err )
148+ }
149+ if len (out ) > 0 {
150+ t .Errorf ("DirFiles(...) = unexpected files %s" , out )
151+ }
152+ })
135153}
0 commit comments