summaryrefslogtreecommitdiffstats
path: root/tests/json.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/json.rs')
-rw-r--r--tests/json.rs19
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);
+});