mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* string.c (rb_str_casecmp): make the ordering consistent with
String#<=>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
55783c696d
commit
e7e5b731c2
3 changed files with 43 additions and 15 deletions
|
@ -368,4 +368,17 @@ EOT
|
|||
r = Regexp.new(Regexp.escape(s))
|
||||
assert(r =~ s, "#{encdump(r)} =~ #{encdump(s)}")
|
||||
end
|
||||
|
||||
def test_casecmp
|
||||
assert_equal(0, "\0A".force_encoding("UTF-16BE").casecmp("\0a".force_encoding("UTF-16BE")))
|
||||
assert_not_equal(0, "\0A".force_encoding("UTF-16LE").casecmp("\0a".force_encoding("UTF-16LE")))
|
||||
assert_not_equal(0, "A\0".force_encoding("UTF-16BE").casecmp("a\0".force_encoding("UTF-16BE")))
|
||||
assert_equal(0, "A\0".force_encoding("UTF-16LE").casecmp("a\0".force_encoding("UTF-16LE")))
|
||||
|
||||
ary = ["01".force_encoding("UTF-16LE"),
|
||||
"10".force_encoding("UTF-16LE")]
|
||||
e = ary.sort {|x,y| x <=> y }
|
||||
a = ary.sort {|x,y| x.casecmp(y) }
|
||||
assert_equal(e, a)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue