From ef7b9bf382a8e6efa472e197b8b2f8dab48cba43 Mon Sep 17 00:00:00 2001 From: suke Date: Wed, 27 Aug 2014 10:57:28 +0000 Subject: * ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond of VT_DATE VARIANT to nsec of Time object. * test/win32ole/test_win32ole_variant.rb (test_conversion_dbl2date_with_msec): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/win32ole/test_win32ole_variant.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/win32ole/test_win32ole_variant.rb') diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index 91e3c0d06a..216449f102 100644 --- a/test/win32ole/test_win32ole_variant.rb +++ b/test/win32ole/test_win32ole_variant.rb @@ -388,6 +388,14 @@ if defined?(WIN32OLE_VARIANT) assert_equal(dt, obj.value) end + def test_conversion_dbl2date_with_msec + # Date is "2014/8/27 12:34:56.789" + obj = WIN32OLE_VARIANT.new(41878.524268391200167, WIN32OLE::VARIANT::VT_DATE) + t = obj.value + assert_equal("2014-08-27 12:34:56", t.strftime('%Y-%m-%d %H:%M:%S')) + assert_equal(789, (t.nsec / 1000000).round) + end + # this test failed because of VariantTimeToSystemTime # and SystemTimeToVariantTime API ignores wMilliseconds # member of SYSTEMTIME struct. -- cgit v1.2.3