Allow strings in assert_pattern_list

This commit is contained in:
Nobuyoshi Nakada 2022-08-18 23:42:53 +09:00
Родитель 8c44b07fa4
Коммит d903e76726
2 изменённых файлов: 14 добавлений и 4 удалений

Просмотреть файл

@ -548,11 +548,13 @@ eom
anchored = false
else
if anchored
match = /\A#{pattern}/.match(rest)
match = rest.rindex(pattern, 0)
else
match = pattern.match(rest)
match = rest.index(pattern)
end
unless match
if match
post_match = $~ ? $~.post_match : rest[match+pattern.size..-1]
else
msg = message(msg) {
expect_msg = "Expected #{mu_pp pattern}\n"
if /\n[^\n]/ =~ rest
@ -569,7 +571,7 @@ eom
}
assert false, msg
end
rest = match.post_match
rest = post_match
anchored = true
end
}

Просмотреть файл

@ -35,6 +35,14 @@ class TestAssertion < Test::Unit::TestCase
assert_pattern_list([:*, /foo?/], "afoo")
assert_not_pattern_list([:*, /foo?/], "afoo?")
assert_pattern_list([/foo?/, :*], "foo?")
assert_not_pattern_list(["foo?"], "foo")
assert_not_pattern_list(["foo?"], "afoo")
assert_pattern_list(["foo?"], "foo?")
assert_not_pattern_list([:*, "foo?", :*], "foo")
assert_not_pattern_list([:*, "foo?"], "afoo")
assert_pattern_list([:*, "foo?"], "afoo?")
assert_pattern_list(["foo?", :*], "foo?")
end
def assert_not_pattern_list(pattern_list, actual, message=nil)