# See: https://github.com/rust-lang/regex/issues/48 [[tests]] name = "invalid-regex-no-crash-100" regex = '(*)' input = "" matches = [] compiles = false # See: https://github.com/rust-lang/regex/issues/48 [[tests]] name = "invalid-regex-no-crash-200" regex = '(?:?)' input = "" matches = [] compiles = false # See: https://github.com/rust-lang/regex/issues/48 [[tests]] name = "invalid-regex-no-crash-300" regex = '(?)' input = "" matches = [] compiles = false # See: https://github.com/rust-lang/regex/issues/48 [[tests]] name = "invalid-regex-no-crash-400" regex = '*' input = "" matches = [] compiles = false # See: https://github.com/rust-lang/regex/issues/75 [[tests]] name = "unsorted-binary-search-100" regex = '(?i-u)[a_]+' input = "A_" matches = [[0, 2]] # See: https://github.com/rust-lang/regex/issues/75 [[tests]] name = "unsorted-binary-search-200" regex = '(?i-u)[A_]+' input = "a_" matches = [[0, 2]] # See: https://github.com/rust-lang/regex/issues/76 [[tests]] name = "unicode-case-lower-nocase-flag" regex = '(?i)\p{Ll}+' input = "ΛΘΓΔα" matches = [[0, 10]] # See: https://github.com/rust-lang/regex/issues/99 [[tests]] name = "negated-char-class-100" regex = '(?i)[^x]' input = "x" matches = [] # See: https://github.com/rust-lang/regex/issues/99 [[tests]] name = "negated-char-class-200" regex = '(?i)[^x]' input = "X" matches = [] # See: https://github.com/rust-lang/regex/issues/101 [[tests]] name = "ascii-word-underscore" regex = '[[:word:]]' input = "_" matches = [[0, 1]] # See: https://github.com/rust-lang/regex/issues/129 [[tests]] name = "captures-repeat" regex = '([a-f]){2}(?P[x-z])' input = "abx" captures = [ [[0, 3], [0, 2], [2, 3]], ] # See: https://github.com/rust-lang/regex/issues/153 [[tests]] name = "alt-in-alt-100" regex = 'ab?|$' input = "az" matches = [[0, 1], [2, 2]] # See: https://github.com/rust-lang/regex/issues/153 [[tests]] name = "alt-in-alt-200" regex = '^(.*?)(\n|\r\n?|$)' input = "ab\rcd" matches = [[0, 3]] # See: https://github.com/rust-lang/regex/issues/169 [[tests]] name = "leftmost-first-prefix" regex = 'z*azb' input = "azb" matches = [[0, 3]] # See: https://github.com/rust-lang/regex/issues/191 [[tests]] name = "many-alternates" regex = '1|2|3|4|5|6|7|8|9|10|int' input = "int" matches = [[0, 3]] # See: https://github.com/rust-lang/regex/issues/204 [[tests]] name = "word-boundary-alone-100" regex = '\b' input = "Should this (work?)" matches = [[0, 0], [6, 6], [7, 7], [11, 11], [13, 13], [17, 17]] # See: https://github.com/rust-lang/regex/issues/204 [[tests]] name = "word-boundary-alone-200" regex = '\b' input = "a b c" matches = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5]] # See: https://github.com/rust-lang/regex/issues/264 [[tests]] name = "word-boundary-ascii-no-capture" regex = '\B' input = "\U00028F3E" matches = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]] unicode = false utf8 = false # See: https://github.com/rust-lang/regex/issues/264 [[tests]] name = "word-boundary-ascii-capture" regex = '(\B)' input = "\U00028F3E" matches = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]] unicode = false utf8 = false # See: https://github.com/rust-lang/regex/issues/268 [[tests]] name = "partial-anchor" regex = '^a|b' input = "ba" matches = [[0, 1]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "endl-or-word-boundary" regex = '(?m:$)|(?-u:\b)' input = "\U0006084E" matches = [[4, 4]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "zero-or-end" regex = '(?i-u:\x00)|$' input = "\U000E682F" matches = [[4, 4]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "y-or-endl" regex = '(?i-u:y)|(?m:$)' input = "\U000B4331" matches = [[4, 4]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "word-boundary-start-x" regex = '(?u:\b)^(?-u:X)' input = "X" matches = [[0, 1]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "word-boundary-ascii-start-x" regex = '(?-u:\b)^(?-u:X)' input = "X" matches = [[0, 1]] # See: https://github.com/rust-lang/regex/issues/271 [[tests]] name = "end-not-word-boundary" regex = '$\B' input = "\U0005C124\U000B576C" matches = [[8, 8]] unicode = false utf8 = false # See: https://github.com/rust-lang/regex/issues/280 [[tests]] name = "partial-anchor-alternate-begin" regex = '^a|z' input = "yyyyya" matches = [] # See: https://github.com/rust-lang/regex/issues/280 [[tests]] name = "partial-anchor-alternate-end" regex = 'a$|z' input = "ayyyyy" matches = [] # See: https://github.com/rust-lang/regex/issues/289 [[tests]] name = "lits-unambiguous-100" regex = '(ABC|CDA|BC)X' input = "CDAX" matches = [[0, 4]] # See: https://github.com/rust-lang/regex/issues/291 [[tests]] name = "lits-unambiguous-200" regex = '((IMG|CAM|MG|MB2)_|(DSCN|CIMG))(?P[0-9]+)$' input = "CIMG2341" captures = [ [[0, 8], [0, 4], [], [0, 4], [4, 8]], ] # See: https://github.com/rust-lang/regex/issues/303 [[tests]] name = "negated-full-byte-range" regex = '[^\x00-\xFF]' input = "" matches = [] compiles = false unicode = false utf8 = false # See: https://github.com/rust-lang/regex/issues/321 [[tests]] name = "strange-anchor-non-complete-prefix" regex = 'a^{2}' input = "" matches = [] # See: https://github.com/rust-lang/regex/issues/321 [[tests]] name = "strange-anchor-non-complete-suffix" regex = '${2}a' input = "" matches = [] # See: https://github.com/rust-lang/regex/issues/334 # See: https://github.com/rust-lang/regex/issues/557 [[tests]] name = "captures-after-dfa-premature-end-100" regex = 'a(b*(X|$))?' input = "abcbX" captures = [ [[0, 1], [], []], ] # See: https://github.com/rust-lang/regex/issues/334 # See: https://github.com/rust-lang/regex/issues/557 [[tests]] name = "captures-after-dfa-premature-end-200" regex = 'a(bc*(X|$))?' input = "abcbX" captures = [ [[0, 1], [], []], ] # See: https://github.com/rust-lang/regex/issues/334 # See: https://github.com/rust-lang/regex/issues/557 [[tests]] name = "captures-after-dfa-premature-end-300" regex = '(aa$)?' input = "aaz" captures = [ [[0, 0]], [[1, 1]], [[2, 2]], [[3, 3]], ] # See: https://github.com/rust-lang/regex/issues/437 [[tests]] name = "literal-panic" regex = 'typename type\-parameter\-[0-9]+\-[0-9]+::.+' input = "test" matches = [] # See: https://github.com/rust-lang/regex/issues/527 [[tests]] name = "empty-flag-expr" regex = '(((?x)))' input = "" matches = [[0, 0]] # See: https://github.com/rust-lang/regex/issues/533 [[tests]] name = "blank-matches-nothing-between-space-and-tab" regex = '[[:blank:]]' input = '\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F' match = false unescape = true # See: https://github.com/rust-lang/regex/issues/533 [[tests]] name = "blank-matches-nothing-between-space-and-tab-inverted" regex = '^[[:^blank:]]+$' input = '\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F' match = true unescape = true # See: https://github.com/rust-lang/regex/issues/555 [[tests]] name = "invalid-repetition" regex = '(?m){1,1}' input = "" matches = [] compiles = false # See: https://github.com/rust-lang/regex/issues/640 [[tests]] name = "flags-are-unset" regex = '((?i)foo)|Bar' input = "foo Foo bar Bar" matches = [[0, 3], [4, 7], [12, 15]] # Note that 'Ј' is not 'j', but cyrillic Je # https://en.wikipedia.org/wiki/Je_(Cyrillic) # # See: https://github.com/rust-lang/regex/issues/659 [[tests]] name = "empty-group-with-unicode" regex = '()Ј01' input = 'zЈ01' matches = [[1, 5]] # See: https://github.com/rust-lang/regex/issues/579 [[tests]] name = "word-boundary-weird" regex = '\b..\b' input = "I have 12, he has 2!" matches = [[0, 2], [7, 9], [9, 11], [11, 13], [17, 19]] # See: https://github.com/rust-lang/regex/issues/579 [[tests]] name = "word-boundary-weird-ascii" regex = '\b..\b' input = "I have 12, he has 2!" matches = [[0, 2], [7, 9], [9, 11], [11, 13], [17, 19]] unicode = false utf8 = false # See: https://github.com/rust-lang/regex/issues/579 [[tests]] name = "word-boundary-weird-minimal-ascii" regex = '\b..\b' input = "az,,b" matches = [[0, 2], [2, 4]] unicode = false utf8 = false # See: https://github.com/BurntSushi/ripgrep/issues/1203 [[tests]] name = "reverse-suffix-100" regex = '[0-4][0-4][0-4]000' input = "153.230000" matches = [[4, 10]] # See: https://github.com/BurntSushi/ripgrep/issues/1203 [[tests]] name = "reverse-suffix-200" regex = '[0-9][0-9][0-9]000' input = "153.230000\n" matches = [[4, 10]] # See: https://github.com/BurntSushi/ripgrep/issues/1247 [[tests]] name = "stops" regex = '\bs(?:[ab])' input = 's\xE4' matches = [] unescape = true # See: https://github.com/BurntSushi/ripgrep/issues/1247 [[tests]] name = "stops-ascii" regex = '(?-u:\b)s(?:[ab])' input = 's\xE4' matches = [] unescape = true # There is no issue for this bug. [[tests]] name = "anchored-prefix-100" regex = '^a[[:^space:]]' input = "a " matches = [] # There is no issue for this bug. [[tests]] name = "anchored-prefix-200" regex = '^a[[:^space:]]' input = "foo boo a" matches = [] # There is no issue for this bug. [[tests]] name = "anchored-prefix-300" regex = '^-[a-z]' input = "r-f" matches = [] # Tests that a possible Aho-Corasick optimization works correctly. It only # kicks in when we have a lot of literals. By "works correctly," we mean that # leftmost-first match semantics are properly respected. That is, samwise # should match, not sam. # # There is no issue for this bug. [[tests]] name = "aho-corasick-100" regex = 'samwise|sam|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z' input = "samwise" matches = [[0, 7]]