summaryrefslogtreecommitdiffstats
path: root/third_party/rust/regex/tests/flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/regex/tests/flags.rs')
-rw-r--r--third_party/rust/regex/tests/flags.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/rust/regex/tests/flags.rs b/third_party/rust/regex/tests/flags.rs
new file mode 100644
index 0000000000..c33b82d434
--- /dev/null
+++ b/third_party/rust/regex/tests/flags.rs
@@ -0,0 +1,31 @@
+mat!(match_flag_case, "(?-u)(?i)abc", "ABC", Some((0, 3)));
+mat!(match_flag_weird_case, "(?-u)(?i)a(?-i)bc", "Abc", Some((0, 3)));
+mat!(match_flag_weird_case_not, "(?-u)(?i)a(?-i)bc", "ABC", None);
+mat!(match_flag_case_dotnl, "(?-u)(?is)a(?u:.)", "A\n", Some((0, 2)));
+mat!(
+ match_flag_case_dotnl_toggle,
+ "(?-u)(?is)a(?u:.)(?-is)a(?u:.)",
+ "A\nab",
+ Some((0, 4))
+);
+mat!(
+ match_flag_case_dotnl_toggle_not,
+ "(?-u)(?is)a(?u:.)(?-is)a(?u:.)",
+ "A\na\n",
+ None
+);
+mat!(
+ match_flag_case_dotnl_toggle_ok,
+ "(?-u)(?is)a(?u:.)(?-is:a(?u:.))?",
+ "A\na\n",
+ Some((0, 2))
+);
+mat!(
+ match_flag_multi,
+ r"(?-u)(?m)(?:^\d+$\n?)+",
+ "123\n456\n789",
+ Some((0, 11))
+);
+mat!(match_flag_ungreedy, "(?U)a+", "aa", Some((0, 1)));
+mat!(match_flag_ungreedy_greedy, "(?U)a+?", "aa", Some((0, 2)));
+mat!(match_flag_ungreedy_noop, "(?U)(?-U)a+", "aa", Some((0, 2)));