1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_Time): use

Time#nsec to accurately serialize time objects. [ruby-core:29233]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2010-07-03 00:15:51 +00:00
parent fcb613ae47
commit 6fe92a3cd6
4 changed files with 14 additions and 9 deletions

View file

@ -1,3 +1,8 @@
Sat Jul 3 09:13:55 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_Time): use
Time#nsec to accurately serialize time objects. [ruby-core:29233]
Fri Jul 2 23:30:23 2010 NAKAMURA Usaku <usa@ruby-lang.org>
* io.c (argf_inplace_mode_set): prohibits an assignment of a tainted

View file

@ -138,9 +138,9 @@ module Psych
def visit_Time o
formatted = o.strftime("%Y-%m-%d %H:%M:%S")
if o.utc?
formatted += ".%06dZ" % [o.usec]
formatted += ".%06dZ" % [o.nsec]
else
formatted += ".%06d %+.2d:00" % [o.usec, o.gmt_offset / 3600]
formatted += ".%06d %+.2d:00" % [o.nsec, o.gmt_offset / 3600]
end
@emitter.scalar formatted, nil, nil, true, false, Nodes::Scalar::ANY

View file

@ -113,25 +113,25 @@ description:
def test_time
now = Time.now
formatted = now.strftime("%Y-%m-%d %H:%M:%S") +
".%06d %+.2d:00" % [now.usec, now.gmt_offset / 3600]
".%06d %+.2d:00" % [now.nsec, now.gmt_offset / 3600]
assert_in_delta now, Nodes::Scalar.new(formatted).to_ruby, 0.000001
assert_equal now, Nodes::Scalar.new(formatted).to_ruby
end
def test_time_utc
now = Time.now.utc
formatted = now.strftime("%Y-%m-%d %H:%M:%S") +
".%06dZ" % [now.usec]
".%06dZ" % [now.nsec]
assert_in_delta now, Nodes::Scalar.new(formatted).to_ruby, 0.000001
assert_equal now, Nodes::Scalar.new(formatted).to_ruby
end
def test_time_utc_no_z
now = Time.now.utc
formatted = now.strftime("%Y-%m-%d %H:%M:%S") +
".%06d" % [now.usec]
".%06d" % [now.nsec]
assert_in_delta now, Nodes::Scalar.new(formatted).to_ruby, 0.000001
assert_equal now, Nodes::Scalar.new(formatted).to_ruby
end
def test_date

View file

@ -54,7 +54,7 @@ module Psych
def test_time
t = Time.now
assert_in_delta t, Psych.load(Psych.dump(t)), 0.000001
assert_equal t, Psych.load(Psych.dump(t))
end
def test_date