提交 25e139e5 编写于 作者: G Geoff Buesing

Time.=== returns true for TimeWithZone instances

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8885 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 e7ebd656
*SVN*
* Time.=== returns true for TimeWithZone instances [Geoff Buesing]
* TimeWithZone #+ and #- behave consistently with numeric arguments regardless of whether wrapped time is a Time or DateTime; consistenty answers false to #acts_like?(:date) [Geoff Buesing]
* Add String#squish and String#squish! to remove consecutive chunks of whitespace. #11123 [jordi, Henrik N]
......
......@@ -24,6 +24,11 @@ def self.included(base) #:nodoc:
COMMON_YEAR_DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
module ClassMethods
# Overriding case equality method so that it returns true for ActiveSupport::TimeWithZone instances
def ===(other)
other.is_a?(::Time)
end
# Return the number of days in the given month.
# If no year is specified, it will use the current year.
def days_in_month(month, year = now.year)
......
......@@ -468,6 +468,12 @@ def test_time_created_with_local_constructor_cannot_represent_times_during_hour_
end
end
def test_case_equality
assert Time === Time.utc(2000)
assert Time === ActiveSupport::TimeWithZone.new(Time.utc(2000), TimeZone['UTC'])
assert_equal false, Time === DateTime.civil(2000)
end
protected
def with_env_tz(new_tz = 'US/Eastern')
old_tz, ENV['TZ'] = ENV['TZ'], new_tz
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册