зеркало из https://github.com/github/ruby.git
* time.c (time_cmp): negate the result of reverse comparison.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
f0c0f504f4
Коммит
29983664fc
|
@ -1,3 +1,7 @@
|
|||
Fri Mar 27 01:33:37 2009 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* time.c (time_cmp): negate the result of reverse comparison.
|
||||
|
||||
Fri Mar 27 01:19:50 2009 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* bignum.c (rb_cmpint): FIX2INT may fail on LP64 platforms.
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
require 'test/unit'
|
||||
require 'rational'
|
||||
require 'timeout'
|
||||
require 'delegate'
|
||||
|
||||
class TestTime < Test::Unit::TestCase
|
||||
def setup
|
||||
|
@ -470,4 +471,13 @@ class TestTime < Test::Unit::TestCase
|
|||
assert_equal("JAN", T2000.strftime("%#h"))
|
||||
assert_equal("FRIDAY", Time.local(2008,1,4).strftime("%#A"))
|
||||
end
|
||||
|
||||
def test_delegate
|
||||
d1 = SimpleDelegator.new(t1 = Time.utc(2000))
|
||||
d2 = SimpleDelegator.new(t2 = Time.utc(2001))
|
||||
assert_equal(-1, t1 <=> t2)
|
||||
assert_equal(1, t2 <=> t1)
|
||||
assert_equal(-1, d1 <=> d2)
|
||||
assert_equal(1, d2 <=> d1)
|
||||
end
|
||||
end
|
||||
|
|
2
time.c
2
time.c
|
@ -1113,7 +1113,7 @@ time_cmp(VALUE time1, VALUE time2)
|
|||
cmp = rb_funcall(time2, rb_intern("<=>"), 1, time1);
|
||||
if (NIL_P(cmp)) return Qnil;
|
||||
|
||||
n = rb_cmpint(cmp, time1, time2);
|
||||
n = -rb_cmpint(cmp, time1, time2);
|
||||
if (n == 0) return INT2FIX(0);
|
||||
if (n > 0) return INT2FIX(1);
|
||||
return INT2FIX(-1);
|
||||
|
|
Загрузка…
Ссылка в новой задаче