diff options
Diffstat (limited to 'tests/json.rs')
-rw-r--r-- | tests/json.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/json.rs b/tests/json.rs index 97d8e719..ff0b5aae 100644 --- a/tests/json.rs +++ b/tests/json.rs @@ -339,3 +339,22 @@ rgtest!(r1095_crlf_empty_match, |dir: Dir, mut cmd: TestCommand| { assert_eq!(m.submatches[0].m, Data::text("\n")); assert_eq!(m.submatches[1].m, Data::text("\n")); }); + +// See: https://github.com/BurntSushi/ripgrep/issues/1412 +rgtest!(r1412_look_behind_match_missing, |dir: Dir, mut cmd: TestCommand| { + // Only PCRE2 supports look-around. + if !dir.is_pcre2() { + return; + } + + dir.create("test", "foo\nbar\n"); + + let msgs = json_decode( + &cmd.arg("-U").arg("--json").arg(r"(?<=foo\n)bar").stdout(), + ); + assert_eq!(msgs.len(), 4); + + let m = msgs[1].unwrap_match(); + assert_eq!(m.lines, Data::text("bar\n")); + assert_eq!(m.submatches.len(), 1); +}); |