зеркало из https://github.com/github/ruby.git
Fix `String#partition`
Split with the matched part when the separator matches the empty part at the beginning. [Bug #11014]
This commit is contained in:
Родитель
0b6682dc57
Коммит
fce54a5404
1
string.c
1
string.c
|
@ -9795,7 +9795,6 @@ rb_str_partition(VALUE str, VALUE sep)
|
|||
return rb_ary_new3(3, rb_str_dup(str), str_new_empty(str), str_new_empty(str));
|
||||
}
|
||||
sep = rb_str_subpat(str, sep, INT2FIX(0));
|
||||
if (pos == 0 && RSTRING_LEN(sep) == 0) goto failed;
|
||||
}
|
||||
else {
|
||||
pos = rb_str_index(str, sep, 0);
|
||||
|
|
|
@ -2567,6 +2567,8 @@ CODE
|
|||
hello = "hello"
|
||||
hello.partition("hi").map(&:upcase!)
|
||||
assert_equal("hello", hello, bug)
|
||||
|
||||
assert_equal(["", "", "foo"], "foo".partition(/^=*/))
|
||||
end
|
||||
|
||||
def test_rpartition
|
||||
|
|
Загрузка…
Ссылка в новой задаче