1
0
Fork 0
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:
akr 2008-09-23 12:27:35 +00:00
parent 55783c696d
commit e7e5b731c2
3 changed files with 43 additions and 15 deletions

View file

@ -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