blob: 8ded1dce7b7fc11225f0e234e3c188022e36f3d9 [file] [log] [blame]
Chih-Hung Hsiehe42c5052020-04-16 10:44:21 -07001macro_rules! noparse(
2 ($name:ident, $re:expr) => (
3 #[test]
4 fn $name() {
5 let re = $re;
6 match regex_new!(re) {
7 Err(_) => {},
8 Ok(_) => panic!("Regex '{}' should cause a parse error.", re),
9 }
10 }
11 );
12);
13
14noparse!(fail_no_repeat_arg, "*");
15noparse!(fail_incomplete_escape, "\\");
16noparse!(fail_class_incomplete, "[A-");
17noparse!(fail_class_not_closed, "[A");
18noparse!(fail_class_no_begin, r"[\A]");
19noparse!(fail_class_no_end, r"[\z]");
20noparse!(fail_class_no_boundary, r"[\b]");
21noparse!(fail_open_paren, "(");
22noparse!(fail_close_paren, ")");
23noparse!(fail_invalid_range, "[a-Z]");
24noparse!(fail_empty_capture_name, "(?P<>a)");
25noparse!(fail_bad_capture_name, "(?P<na-me>)");
26noparse!(fail_bad_flag, "(?a)a");
27noparse!(fail_too_big, "a{10000000}");
28noparse!(fail_counted_no_close, "a{1001");
Haibo Huang49cbe5f2020-05-28 20:14:24 -070029noparse!(fail_counted_decreasing, "a{2,1}");
30noparse!(fail_counted_nonnegative, "a{-1,1}");
Chih-Hung Hsiehe42c5052020-04-16 10:44:21 -070031noparse!(fail_unfinished_cap, "(?");
32noparse!(fail_unfinished_escape, "\\");
33noparse!(fail_octal_digit, r"\8");
34noparse!(fail_hex_digit, r"\xG0");
35noparse!(fail_hex_short, r"\xF");
36noparse!(fail_hex_long_digits, r"\x{fffg}");
37noparse!(fail_flag_bad, "(?a)");
38noparse!(fail_flag_empty, "(?)");
39noparse!(fail_double_neg, "(?-i-i)");
40noparse!(fail_neg_empty, "(?i-)");
41noparse!(fail_dupe_named, "(?P<a>.)(?P<a>.)");
42noparse!(fail_range_end_no_class, "[a-[:lower:]]");
43noparse!(fail_range_end_no_begin, r"[a-\A]");
44noparse!(fail_range_end_no_end, r"[a-\z]");
45noparse!(fail_range_end_no_boundary, r"[a-\b]");