@@ -191,4 +191,33 @@ assert.equal(result.indexOf('resources/ls/a_dir/b_dir') > -1, true);
191191assert . equal ( result . indexOf ( 'resources/ls/a_dir/b_dir/z' ) > - 1 , true ) ;
192192assert . equal ( result . length , 9 ) ;
193193
194+ // directory option, single arg
195+ var result = shell . ls ( '-d' , 'resources/ls' ) ;
196+ assert . equal ( shell . error ( ) , null ) ;
197+ assert . equal ( result . length , 1 ) ;
198+
199+ // directory option, single arg with trailing '/'
200+ var result = shell . ls ( '-d' , 'resources/ls/' ) ;
201+ assert . equal ( shell . error ( ) , null ) ;
202+ assert . equal ( result . length , 1 ) ;
203+
204+ // directory option, multiple args
205+ var result = shell . ls ( '-d' , 'resources/ls/a_dir' , 'resources/ls/file1' ) ;
206+ assert . equal ( shell . error ( ) , null ) ;
207+ assert . ok ( result . indexOf ( 'resources/ls/a_dir' ) > - 1 ) ;
208+ assert . ok ( result . indexOf ( 'resources/ls/file1' ) > - 1 ) ;
209+ assert . equal ( result . length , 2 ) ;
210+
211+ // directory option, globbed arg
212+ var result = shell . ls ( '-d' , 'resources/ls/*' ) ;
213+ assert . equal ( shell . error ( ) , null ) ;
214+ assert . ok ( result . indexOf ( 'resources/ls/a_dir' ) > - 1 ) ;
215+ assert . ok ( result . indexOf ( 'resources/ls/file1' ) > - 1 ) ;
216+ assert . ok ( result . indexOf ( 'resources/ls/file1.js' ) > - 1 ) ;
217+ assert . ok ( result . indexOf ( 'resources/ls/file2' ) > - 1 ) ;
218+ assert . ok ( result . indexOf ( 'resources/ls/file2.js' ) > - 1 ) ;
219+ assert . ok ( result . indexOf ( 'resources/ls/file2' ) > - 1 ) ;
220+ assert . ok ( result . indexOf ( 'resources/ls/filename(with)[chars$]^that.must+be-escaped' ) > - 1 ) ;
221+ assert . equal ( result . length , 6 ) ;
222+
194223shell . exit ( 123 ) ;
0 commit comments