mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/psych/lib/psych/visitors/json_tree.rb: Fix JSON emit for
DateTime and Time classes. * test/psych/test_json_tree.rb: test for JSON emit git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a17cdfdde2
commit
74b0a7a06f
3 changed files with 26 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
Thu Jan 20 09:19:42 2011 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||
|
||||
* ext/psych/lib/psych/visitors/json_tree.rb: Fix JSON emit for
|
||||
DateTime and Time classes.
|
||||
|
||||
* test/psych/test_json_tree.rb: test for JSON emit
|
||||
|
||||
Thu Jan 20 08:02:46 2011 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||
|
||||
* ext/psych/lib/psych/coder.rb (represent_object): arbitrary objects
|
||||
|
|
|
@ -5,6 +5,15 @@ module Psych
|
|||
super
|
||||
end
|
||||
|
||||
def visit_Time o
|
||||
formatted = format_time o
|
||||
@emitter.scalar formatted, nil, nil, false, true, Nodes::Scalar::DOUBLE_QUOTED
|
||||
end
|
||||
|
||||
def visit_DateTime o
|
||||
visit_Time o.to_time
|
||||
end
|
||||
|
||||
def visit_String o
|
||||
@emitter.scalar o.to_s, nil, nil, false, true, Nodes::Scalar::DOUBLE_QUOTED
|
||||
end
|
||||
|
|
|
@ -39,5 +39,15 @@ module Psych
|
|||
assert_match(/"one"/, json)
|
||||
assert_match(/"two"/, json)
|
||||
end
|
||||
|
||||
def test_time
|
||||
time = Time.new(2010, 10, 10).utc
|
||||
assert_equal "{\"a\": \"2010-10-10 07:00:00.000000000Z\"}\n", Psych.to_json({'a' => time })
|
||||
end
|
||||
|
||||
def test_datetime
|
||||
time = Time.new(2010, 10, 10).to_datetime
|
||||
assert_equal "{\"a\": \"#{time.strftime("%Y-%m-%d %H:%M:%S.%9N %:z")}\"}\n", Psych.to_json({'a' => time })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue