mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* string.c: Any kind of option is now taking the new code path for
upcase/downcase/capitalize/swapcase. :lithuanian can be used for testing if no specific option is desired. * test/ruby/enc/test_case_mapping.rb: Adjusted to above. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f307d1fe21
commit
e580847ce8
3 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Sun Jan 17 20:40:10 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
|
||||||
|
|
||||||
|
* string.c: Any kind of option is now taking the new code path for
|
||||||
|
upcase/downcase/capitalize/swapcase. :lithuanian can be used for
|
||||||
|
testing if no specific option is desired.
|
||||||
|
* test/ruby/enc/test_case_mapping.rb: Adjusted to above.
|
||||||
|
(with Kimihito Matsui)
|
||||||
|
|
||||||
Sun Jan 17 20:10:10 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
|
Sun Jan 17 20:10:10 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
|
||||||
|
|
||||||
* enc/unicode.c: Fixed a logical error and some comments.
|
* enc/unicode.c: Fixed a logical error and some comments.
|
||||||
|
|
8
string.c
8
string.c
|
@ -5734,7 +5734,7 @@ rb_str_upcase_bang(int argc, VALUE *argv, VALUE str)
|
||||||
enc = STR_ENC_GET(str);
|
enc = STR_ENC_GET(str);
|
||||||
rb_str_check_dummy_enc(enc);
|
rb_str_check_dummy_enc(enc);
|
||||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||||
if (enc==rb_utf8_encoding() && flags&ONIGENC_CASE_FOLD_LITHUANIAN) { /* lithuanian temporarily used as a guard for debugging */
|
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||||
}
|
}
|
||||||
|
@ -5821,7 +5821,7 @@ rb_str_downcase_bang(int argc, VALUE *argv, VALUE str)
|
||||||
enc = STR_ENC_GET(str);
|
enc = STR_ENC_GET(str);
|
||||||
rb_str_check_dummy_enc(enc);
|
rb_str_check_dummy_enc(enc);
|
||||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||||
if (enc==rb_utf8_encoding() && flags&ONIGENC_CASE_FOLD_LITHUANIAN) { /* lithuanian temporarily used as a guard for debugging */
|
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||||
}
|
}
|
||||||
|
@ -5917,7 +5917,7 @@ rb_str_capitalize_bang(int argc, VALUE *argv, VALUE str)
|
||||||
enc = STR_ENC_GET(str);
|
enc = STR_ENC_GET(str);
|
||||||
rb_str_check_dummy_enc(enc);
|
rb_str_check_dummy_enc(enc);
|
||||||
if (RSTRING_LEN(str) == 0 || !RSTRING_PTR(str)) return Qnil;
|
if (RSTRING_LEN(str) == 0 || !RSTRING_PTR(str)) return Qnil;
|
||||||
if (enc==rb_utf8_encoding() && flags&ONIGENC_CASE_FOLD_LITHUANIAN) { /* lithuanian temporarily used as a guard for debugging */
|
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||||
}
|
}
|
||||||
|
@ -5989,7 +5989,7 @@ rb_str_swapcase_bang(int argc, VALUE *argv, VALUE str)
|
||||||
enc = STR_ENC_GET(str);
|
enc = STR_ENC_GET(str);
|
||||||
rb_str_check_dummy_enc(enc);
|
rb_str_check_dummy_enc(enc);
|
||||||
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
s = RSTRING_PTR(str); send = RSTRING_END(str);
|
||||||
if (enc==rb_utf8_encoding() && flags&ONIGENC_CASE_FOLD_LITHUANIAN) { /* lithuanian temporarily used as a guard for debugging */
|
if (enc==rb_utf8_encoding() && argc>0) { /* :lithuanian can temporarily be used for new functionality without options */
|
||||||
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
str_shared_replace(str, rb_str_casemap(str, &flags, enc));
|
||||||
modify = ONIGENC_CASE_MODIFIED & flags;
|
modify = ONIGENC_CASE_MODIFIED & flags;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,8 +50,9 @@ class TestCaseMappingPreliminary < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_turcic
|
def test_turcic
|
||||||
check_downcase_properties 'yukihiro matsumoto (matz)', 'Yukihiro MATSUMOTO (MATZ)', :turkic, :lithuanian
|
check_downcase_properties 'yukihiro matsumoto (matz)', 'Yukihiro MATSUMOTO (MATZ)', :turkic
|
||||||
check_upcase_properties 'YUKİHİRO MATSUMOTO (MATZ)', 'Yukihiro Matsumoto (matz)', :turkic, :lithuanian
|
check_upcase_properties 'YUKİHİRO MATSUMOTO (MATZ)', 'Yukihiro Matsumoto (matz)', :turkic
|
||||||
|
check_downcase_properties "yuki\u0307hi\u0307ro matsumoto (matz)", 'YUKİHİRO MATSUMOTO (MATZ)', :lithuanian
|
||||||
end
|
end
|
||||||
|
|
||||||
def no_longer_a_test_buffer_allocations
|
def no_longer_a_test_buffer_allocations
|
||||||
|
|
Loading…
Reference in a new issue