Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
280
third-party/vendor/regex/testdata/overlapping.toml
vendored
Normal file
280
third-party/vendor/regex/testdata/overlapping.toml
vendored
Normal file
|
|
@ -0,0 +1,280 @@
|
|||
# NOTE: We define a number of tests where the *match* kind is 'leftmost-first'
|
||||
# but the *search* kind is 'overlapping'. This is a somewhat nonsensical
|
||||
# combination and can produce odd results. Nevertheless, those results should
|
||||
# be consistent so we test them here. (At the time of writing this note, I
|
||||
# hadn't yet decided whether to make 'leftmost-first' with 'overlapping' result
|
||||
# in unspecified behavior.)
|
||||
|
||||
# This demonstrates how a full overlapping search is obvious quadratic. This
|
||||
# regex reports a match for every substring in the haystack.
|
||||
[[test]]
|
||||
name = "ungreedy-dotstar-matches-everything-100"
|
||||
regex = [".*?"]
|
||||
haystack = "zzz"
|
||||
matches = [
|
||||
{ id = 0, span = [0, 0] },
|
||||
{ id = 0, span = [1, 1] },
|
||||
{ id = 0, span = [0, 1] },
|
||||
{ id = 0, span = [2, 2] },
|
||||
{ id = 0, span = [1, 2] },
|
||||
{ id = 0, span = [0, 2] },
|
||||
{ id = 0, span = [3, 3] },
|
||||
{ id = 0, span = [2, 3] },
|
||||
{ id = 0, span = [1, 3] },
|
||||
{ id = 0, span = [0, 3] },
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "greedy-dotstar-matches-everything-100"
|
||||
regex = [".*"]
|
||||
haystack = "zzz"
|
||||
matches = [
|
||||
{ id = 0, span = [0, 0] },
|
||||
{ id = 0, span = [1, 1] },
|
||||
{ id = 0, span = [0, 1] },
|
||||
{ id = 0, span = [2, 2] },
|
||||
{ id = 0, span = [1, 2] },
|
||||
{ id = 0, span = [0, 2] },
|
||||
{ id = 0, span = [3, 3] },
|
||||
{ id = 0, span = [2, 3] },
|
||||
{ id = 0, span = [1, 3] },
|
||||
{ id = 0, span = [0, 3] },
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-leftmost-first-100"
|
||||
regex = 'a+'
|
||||
haystack = "aaa"
|
||||
matches = [[0, 1], [1, 2], [0, 2], [2, 3], [1, 3], [0, 3]]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-leftmost-first-110"
|
||||
regex = '☃+'
|
||||
haystack = "☃☃☃"
|
||||
matches = [[0, 3], [3, 6], [0, 6], [6, 9], [3, 9], [0, 9]]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-all-100"
|
||||
regex = 'a+'
|
||||
haystack = "aaa"
|
||||
matches = [[0, 1], [1, 2], [0, 2], [2, 3], [1, 3], [0, 3]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-all-110"
|
||||
regex = '☃+'
|
||||
haystack = "☃☃☃"
|
||||
matches = [[0, 3], [3, 6], [0, 6], [6, 9], [3, 9], [0, 9]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-leftmost-first-200"
|
||||
regex = '(abc)+'
|
||||
haystack = "zzabcabczzabc"
|
||||
matches = [
|
||||
[[2, 5], [2, 5]],
|
||||
[[5, 8], [5, 8]],
|
||||
[[2, 8], [5, 8]],
|
||||
]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-plus-all-200"
|
||||
regex = '(abc)+'
|
||||
haystack = "zzabcabczzabc"
|
||||
matches = [
|
||||
[[2, 5], [2, 5]],
|
||||
[[5, 8], [5, 8]],
|
||||
[[2, 8], [5, 8]],
|
||||
[[10, 13], [10, 13]],
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-star-leftmost-first-100"
|
||||
regex = 'a*'
|
||||
haystack = "aaa"
|
||||
matches = [
|
||||
[0, 0],
|
||||
[1, 1],
|
||||
[0, 1],
|
||||
[2, 2],
|
||||
[1, 2],
|
||||
[0, 2],
|
||||
[3, 3],
|
||||
[2, 3],
|
||||
[1, 3],
|
||||
[0, 3],
|
||||
]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-star-all-100"
|
||||
regex = 'a*'
|
||||
haystack = "aaa"
|
||||
matches = [
|
||||
[0, 0],
|
||||
[1, 1],
|
||||
[0, 1],
|
||||
[2, 2],
|
||||
[1, 2],
|
||||
[0, 2],
|
||||
[3, 3],
|
||||
[2, 3],
|
||||
[1, 3],
|
||||
[0, 3],
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-star-leftmost-first-200"
|
||||
regex = '(abc)*'
|
||||
haystack = "zzabcabczzabc"
|
||||
matches = [
|
||||
[[0, 0], []],
|
||||
]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "repetition-star-all-200"
|
||||
regex = '(abc)*'
|
||||
haystack = "zzabcabczzabc"
|
||||
matches = [
|
||||
[[0, 0], []],
|
||||
[[1, 1], []],
|
||||
[[2, 2], []],
|
||||
[[3, 3], []],
|
||||
[[4, 4], []],
|
||||
[[5, 5], []],
|
||||
[[2, 5], [2, 5]],
|
||||
[[6, 6], []],
|
||||
[[7, 7], []],
|
||||
[[8, 8], []],
|
||||
[[5, 8], [5, 8]],
|
||||
[[2, 8], [5, 8]],
|
||||
[[9, 9], []],
|
||||
[[10, 10], []],
|
||||
[[11, 11], []],
|
||||
[[12, 12], []],
|
||||
[[13, 13], []],
|
||||
[[10, 13], [10, 13]],
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "start-end-rep-leftmost-first"
|
||||
regex = '(^$)*'
|
||||
haystack = "abc"
|
||||
matches = [
|
||||
[[0, 0], []],
|
||||
]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "start-end-rep-all"
|
||||
regex = '(^$)*'
|
||||
haystack = "abc"
|
||||
matches = [
|
||||
[[0, 0], []],
|
||||
[[1, 1], []],
|
||||
[[2, 2], []],
|
||||
[[3, 3], []],
|
||||
]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "alt-leftmost-first-100"
|
||||
regex = 'abc|a'
|
||||
haystack = "zzabcazzaabc"
|
||||
matches = [[2, 3], [2, 5]]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "alt-all-100"
|
||||
regex = 'abc|a'
|
||||
haystack = "zzabcazzaabc"
|
||||
matches = [[2, 3], [2, 5], [5, 6], [8, 9], [9, 10], [9, 12]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "empty-000"
|
||||
regex = ""
|
||||
haystack = "abc"
|
||||
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "empty-alt-000"
|
||||
regex = "|b"
|
||||
haystack = "abc"
|
||||
matches = [[0, 0], [1, 1], [2, 2], [1, 2], [3, 3]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "empty-alt-010"
|
||||
regex = "b|"
|
||||
haystack = "abc"
|
||||
matches = [[0, 0], [1, 1], [2, 2], [1, 2], [3, 3]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
# See: https://github.com/rust-lang/regex/issues/484
|
||||
name = "iter1-bytes"
|
||||
regex = ''
|
||||
haystack = "☃"
|
||||
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
||||
utf8 = false
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
# See: https://github.com/rust-lang/regex/issues/484
|
||||
name = "iter1-utf8"
|
||||
regex = ''
|
||||
haystack = "☃"
|
||||
matches = [[0, 0], [3, 3]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
|
||||
[[test]]
|
||||
name = "iter1-incomplete-utf8"
|
||||
regex = ''
|
||||
haystack = '\xE2\x98' # incomplete snowman
|
||||
matches = [[0, 0], [1, 1], [2, 2]]
|
||||
match-kind = "all"
|
||||
search-kind = "overlapping"
|
||||
unescape = true
|
||||
utf8 = false
|
||||
|
||||
[[test]]
|
||||
name = "scratch"
|
||||
regex = ['sam', 'samwise']
|
||||
haystack = "samwise"
|
||||
matches = [
|
||||
{ id = 0, span = [0, 3] },
|
||||
]
|
||||
match-kind = "leftmost-first"
|
||||
search-kind = "overlapping"
|
||||
Loading…
Add table
Add a link
Reference in a new issue