1
0
Fork 0
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:
Andrew White 2014-01-26 21:22:23 +00:00
parent c096500448
commit dd339bb0ad
2 changed files with 6 additions and 2 deletions

View file

@ -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')}"

View file

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