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

* ext/win32ole/win32ole.c (d2time): fix the bug of VT_DATE

to String conversion when negative value.
	  
* test/win32ole/test_win32ole_variant.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
suke 2008-07-04 14:19:01 +00:00
parent 7d166d26a5
commit 7a05bfaaab
3 changed files with 48 additions and 2 deletions

View file

@ -540,6 +540,44 @@ if defined?(WIN32OLE_VARIANT)
}
end
def test_conversion_vt_date
obj = WIN32OLE_VARIANT.new(-657434, WIN32OLE::VARIANT::VT_DATE)
assert_equal("0100/01/01 00:00:00", obj.value)
obj = WIN32OLE_VARIANT.new("1500/12/29 23:59:59", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1500/12/29 23:59:59", obj.value)
obj = WIN32OLE_VARIANT.new("1500/12/30 00:00:00", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1500/12/30 00:00:00", obj.value)
obj = WIN32OLE_VARIANT.new("1500/12/30 00:00:01", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1500/12/30 00:00:01", obj.value)
obj = WIN32OLE_VARIANT.new("1899/12/29 23:59:59", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1899/12/29 23:59:59", obj.value)
obj = WIN32OLE_VARIANT.new("1899/12/30 00:00:00", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1899/12/30 00:00:00", obj.value)
obj = WIN32OLE_VARIANT.new("1899/12/30 00:00:01", WIN32OLE::VARIANT::VT_DATE)
assert_equal("1899/12/30 00:00:01", obj.value)
obj = WIN32OLE_VARIANT.new(0, WIN32OLE::VARIANT::VT_DATE)
assert_equal("1899/12/30 00:00:00", obj.value)
obj = WIN32OLE_VARIANT.new("2008/12/29 23:59:59", WIN32OLE::VARIANT::VT_DATE)
assert_equal("2008/12/29 23:59:59", obj.value)
obj = WIN32OLE_VARIANT.new("2008/12/30 00:00:00", WIN32OLE::VARIANT::VT_DATE)
assert_equal("2008/12/30 00:00:00", obj.value)
obj = WIN32OLE_VARIANT.new("2008/12/30 00:00:01", WIN32OLE::VARIANT::VT_DATE)
assert_equal("2008/12/30 00:00:01", obj.value)
obj = WIN32OLE_VARIANT.new("9999/12/31 23:59:59", WIN32OLE::VARIANT::VT_DATE)
assert_equal("9999/12/31 23:59:59", obj.value)
end
def test_create_nil_dispatch
var = WIN32OLE_VARIANT.new(nil, WIN32OLE::VARIANT::VT_DISPATCH)
assert_nil(var.value)