mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 21:14:23 +02:00
cstr.c: split bug_str_cstr_unterm
* ext/-test-/string/cstr.c (bug_str_cstr_unterm): split unterminating from bug_str_cstr_term. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8d7d4e3322
commit
41cbb7f050
2 changed files with 34 additions and 2 deletions
|
@ -7,11 +7,13 @@ class Test_StringCStr < Test::Unit::TestCase
|
|||
def test_embed
|
||||
s = Bug::String.new("abcdef")
|
||||
s.set_len(3)
|
||||
s.cstr_unterm('x')
|
||||
assert_equal(0, s.cstr_term, Bug4319)
|
||||
end
|
||||
|
||||
def test_long
|
||||
s = Bug::String.new("abcdef")*100000
|
||||
s.cstr_unterm('x')
|
||||
assert_equal(0, s.cstr_term, Bug4319)
|
||||
end
|
||||
|
||||
|
@ -20,9 +22,11 @@ class Test_StringCStr < Test::Unit::TestCase
|
|||
def test_wchar_embed
|
||||
WCHARS.each do |enc|
|
||||
s = Bug::String.new("\u{4022}a".encode(enc))
|
||||
s.cstr_unterm('x')
|
||||
assert_nothing_raised(ArgumentError) {s.cstr_term}
|
||||
s.set_len(s.bytesize / 2)
|
||||
assert_equal(1, s.size)
|
||||
s.cstr_unterm('x')
|
||||
assert_equal(0, s.cstr_term)
|
||||
end
|
||||
end
|
||||
|
@ -33,9 +37,11 @@ class Test_StringCStr < Test::Unit::TestCase
|
|||
len = str.size * n
|
||||
WCHARS.each do |enc|
|
||||
s = Bug::String.new(str.encode(enc))*n
|
||||
s.cstr_unterm('x')
|
||||
assert_nothing_raised(ArgumentError, enc.name) {s.cstr_term}
|
||||
s.set_len(s.bytesize / 2)
|
||||
assert_equal(len / 2, s.size, enc.name)
|
||||
s.cstr_unterm('x')
|
||||
assert_equal(0, s.cstr_term, enc.name)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue