Bug #4297
closedtest_time in ruby/test/psych/test_json_tree.rb makes test failure
Description
=begin
Recently ruby trunk + linux increase one test failure.
- Failure:
test_time(Psych::TestJSONTree) [/home/kosaki/linux/ruby-svn/ruby/test/psych/test_json_tree.rb:45]:
Expected "{"a": "2010-10-10 07:00:00.000000000Z"}\n", not "{"a": "2010-10-09 15:00:00.000000000Z"}\n".
Becuase the test are using Time.new and it depend on timezone.
def test_time
time = Time.new(2010, 10, 10).utc
assert_equal "{\"a\": \"2010-10-10 00:00:00.000000000Z\"}\n", Psych.to_json({'a' => time })
end
note: I'm living in japan timezones.
So, It shold be timezone independent.
% svn diff
Index: test/psych/test_json_tree.rb
--- test/psych/test_json_tree.rb (revision 30611)
+++ test/psych/test_json_tree.rb (working copy)
@@ -41,8 +41,8 @@
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 })
-
time = Time.utc(2010, 10, 10).utc
-
assert_equal "{\"a\": \"2010-10-10 00:00:00.000000000Z\"}\n", Psych.to_json({'a' => time })
end
def test_datetime
=end
Updated by kosaki (Motohiro KOSAKI) almost 14 years ago
- Assignee set to tenderlovemaking (Aaron Patterson)
=begin
=end
Updated by Eregon (Benoit Daloze) almost 14 years ago
=begin
On 20 January 2011 05:05, Motohiro KOSAKI redmine@ruby-lang.org wrote:
% svn diff
Index: test/psych/test_json_tree.rb--- test/psych/test_json_tree.rb (revision 30611)
+++ test/psych/test_json_tree.rb (working copy)
@@ -41,8 +41,8 @@
enddef 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 })
- time = Time.utc(2010, 10, 10).utc
- assert_equal "{"a": "2010-10-10 00:00:00.000000000Z"}\n", Psych.to_json({'a' => time })
enddef test_datetime
I think the second 'utc' (Time#utc) is unnecessary as the Time is
created with Time.utc.
So the patch should be:
% svn diff
Index: test/psych/test_json_tree.rb
--- test/psych/test_json_tree.rb (revision 30611)
+++ test/psych/test_json_tree.rb (working copy)
@@ -41,8 +41,8 @@
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 })
-
time = Time.utc(2010, 10, 10)
-
assert_equal "{\"a\": \"2010-10-10 00:00:00.000000000Z\"}\n",
Psych.to_json({'a' => time })
end
def test_datetime
=end
Updated by Anonymous almost 14 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r30627.
Motohiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
fixed a bug in the test suite. Thanks Benoit Daloze! [ruby-core:34641]
=end