mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make ActiveSupport::TimeWithZone#xmlschema consistent
Both Time#xmlschema and DateTime#xmlschema can accept nil values for the fraction_digits parameter. This commit makes this so for TimeWithZone values as well.
This commit is contained in:
parent
c096500448
commit
dd339bb0ad
2 changed files with 6 additions and 2 deletions
|
@ -132,8 +132,8 @@ module ActiveSupport
|
|||
end
|
||||
|
||||
def xmlschema(fraction_digits = 0)
|
||||
fraction = if fraction_digits > 0
|
||||
(".%06i" % time.usec)[0, fraction_digits + 1]
|
||||
fraction = if fraction_digits.to_i > 0
|
||||
(".%06i" % time.usec)[0, fraction_digits.to_i + 1]
|
||||
end
|
||||
|
||||
"#{time.strftime("%Y-%m-%dT%H:%M:%S")}#{fraction}#{formatted_offset(true, 'Z')}"
|
||||
|
|
|
@ -111,6 +111,10 @@ class TimeWithZoneTest < ActiveSupport::TestCase
|
|||
assert_equal "1999-12-31T19:00:00.001234-05:00", @twz.xmlschema(12)
|
||||
end
|
||||
|
||||
def test_xmlschema_with_nil_fractional_seconds
|
||||
assert_equal "1999-12-31T19:00:00-05:00", @twz.xmlschema(nil)
|
||||
end
|
||||
|
||||
def test_to_yaml
|
||||
assert_match(/^--- 2000-01-01 00:00:00(\.0+)?\s*Z\n/, @twz.to_yaml)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue