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 (ole_set_byref): support VT_UI8|VT_BYREF,

VT_I8|VT_BYREF in cygwin and mingw.
	  
* ext/win32ole/win32ole.c (ole_variant2val): ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):
  ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
suke 2013-01-11 22:59:51 +00:00
parent ecd8abbda4
commit 92a7da1900
3 changed files with 31 additions and 22 deletions

View file

@ -255,28 +255,16 @@ if defined?(WIN32OLE_VARIANT)
assert_equal(WIN32OLE::VARIANT::VT_UINT|WIN32OLE::VARIANT::VT_BYREF, obj.vartype)
end
# This test is failed in cygwin.
# The tagVARIANT definition has no union member pllVal in cygwin.
def test_s_new_with_i8_byref
if defined?(WIN32OLE::VARIANT::VT_I8) && /mswin/ =~ RUBY_PLATFORM
obj = WIN32OLE_VARIANT.new(-123456789012345, WIN32OLE::VARIANT::VT_I8|WIN32OLE::VARIANT::VT_BYREF)
assert_equal(-123456789012345, obj.value)
assert_equal(WIN32OLE::VARIANT::VT_I8|WIN32OLE::VARIANT::VT_BYREF, obj.vartype)
else
skip("WIN32OLE::VARIANT::VT_I8 is not available")
end
obj = WIN32OLE_VARIANT.new(-123456789012345, WIN32OLE::VARIANT::VT_I8|WIN32OLE::VARIANT::VT_BYREF)
assert_equal(-123456789012345, obj.value)
assert_equal(WIN32OLE::VARIANT::VT_I8|WIN32OLE::VARIANT::VT_BYREF, obj.vartype)
end
# This test is failed in cygwin.
# The tagVARIANT definition has no union member pullVal in cygwin.
def test_s_new_with_ui8_byref
if defined?(WIN32OLE::VARIANT::VT_UI8) && /mswin/ =~ RUBY_PLATFORM
obj = WIN32OLE_VARIANT.new(123456789012345, WIN32OLE::VARIANT::VT_UI8|WIN32OLE::VARIANT::VT_BYREF)
assert_equal(123456789012345, obj.value)
assert_equal(WIN32OLE::VARIANT::VT_UI8|WIN32OLE::VARIANT::VT_BYREF, obj.vartype)
else
skip("WIN32OLE::VARIANT::VT_UI8 is not available")
end
obj = WIN32OLE_VARIANT.new(123456789012345, WIN32OLE::VARIANT::VT_UI8|WIN32OLE::VARIANT::VT_BYREF)
assert_equal(123456789012345, obj.value)
assert_equal(WIN32OLE::VARIANT::VT_UI8|WIN32OLE::VARIANT::VT_BYREF, obj.vartype)
end
def test_value