@@ -40,13 +40,48 @@ assert.equal(result, 'This is line one\n');
4040
4141// multiple files
4242var result = shell . grep ( / t e s t / , 'resources/file1.txt' , 'resources/file2.txt' ) ;
43+ var values = result . trim ( ) . split ( '\n' ) ;
4344assert . equal ( shell . error ( ) , null ) ;
44- assert . equal ( result , 'test1\ntest2\n' ) ;
45+ assert . equal ( values . length , 2 ) ;
46+ assert . equal ( values . sort ( ) . join ( '\n' ) , 'test1\ntest2' ) ;
4547
4648// multiple files, array syntax
4749var result = shell . grep ( / t e s t / , [ 'resources/file1.txt' , 'resources/file2.txt' ] ) ;
50+ var values = result . trim ( ) . split ( '\n' ) ;
4851assert . equal ( shell . error ( ) , null ) ;
49- assert . equal ( result , 'test1\ntest2\n' ) ;
52+ assert . equal ( values . length , 2 ) ;
53+ assert . equal ( values . sort ( ) . join ( '\n' ) , 'test1\ntest2' ) ;
54+
55+ // list file names of matches
56+ var result = shell . grep ( '-l' , / t e s t / , [ 'resources/file1.txt' , 'resources/file2.txt' ] ) ;
57+ var values = result . trim ( ) . split ( '\n' ) ;
58+ assert . equal ( shell . error ( ) , null ) ;
59+ assert . equal ( values . length , 2 ) ;
60+ assert . equal ( values . sort ( ) . join ( '\n' ) , 'resources/file1.txt\nresources/file2.txt' ) ;
61+
62+ // glob (and -s to silence missing files found via glob)
63+ shell . cd ( './resources' ) ;
64+ var result = shell . grep ( '-s' , / t e s t / , '*' ) ;
65+ var values = result . trim ( ) . split ( '\n' ) ;
66+ assert . equal ( shell . error ( ) , null ) ;
67+ assert . equal ( values . length , 6 ) ;
68+ assert . equal ( values . sort ( ) . join ( '\n' ) , 'test\ntest\ntest1\ntest1\ntest2\ntest2' ) ;
69+ shell . cd ( '..' ) ;
70+
71+ // glob (and -s to silence missing files found via glob)
72+ shell . cd ( './resources' ) ;
73+ var result = shell . grep ( '-s' , / t e s t / , '*' ) ;
74+ var values = result . trim ( ) . split ( '\n' ) ;
75+ assert . equal ( shell . error ( ) , null ) ;
76+ assert . equal ( values . length , 6 ) ;
77+ assert . equal ( values . sort ( ) . join ( '\n' ) , 'test\ntest\ntest1\ntest1\ntest2\ntest2' ) ;
78+
79+ // glob listing file names of matches
80+ shell . cd ( './resources' ) ;
81+ var result = shell . grep ( '-ls' , / t e s t / , '*' ) ;
82+ var values = result . trim ( ) . split ( '\n' ) ;
83+ assert . equal ( shell . error ( ) , null ) ;
84+ assert . equal ( values . sort ( ) . join ( '\n' ) , "file1\nfile1.js\nfile1.txt\nfile2\nfile2.js\nfile2.txt" ) ;
5085
5186// multiple files, glob syntax, * for file name
5287var result = shell . grep ( / t e s t / , 'resources/file*.txt' ) ;
0 commit comments