Merge pull request #716 from tdeo/multiline_pygrep

Add multiline mode to pygrep
This commit is contained in:
Anthony Sottile 2018-03-09 09:39:09 -08:00 committed by GitHub
commit c6b6d2340e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 1 deletions

View file

@ -38,3 +38,31 @@ def test_ignore_case(some_files, cap_out):
out = cap_out.get()
assert ret == 1
assert out == 'f2:1:[INFO] hi\n'
def test_multiline(some_files, cap_out):
ret = pygrep.main(('--multiline', r'foo\nbar', 'f1', 'f2', 'f3'))
out = cap_out.get()
assert ret == 1
assert out == 'f1:1:foo\nbar\n'
def test_multiline_line_number(some_files, cap_out):
ret = pygrep.main(('--multiline', r'ar', 'f1', 'f2', 'f3'))
out = cap_out.get()
assert ret == 1
assert out == 'f1:2:bar\n'
def test_multiline_dotall_flag_is_enabled(some_files, cap_out):
ret = pygrep.main(('--multiline', r'o.*bar', 'f1', 'f2', 'f3'))
out = cap_out.get()
assert ret == 1
assert out == 'f1:1:foo\nbar\n'
def test_multiline_multiline_flag_is_enabled(some_files, cap_out):
ret = pygrep.main(('--multiline', r'foo$.*bar', 'f1', 'f2', 'f3'))
out = cap_out.get()
assert ret == 1
assert out == 'f1:1:foo\nbar\n'