From 70db47aadb2b353a46d7040e048534ad405bfb5b Mon Sep 17 00:00:00 2001 From: suke Date: Sun, 11 Feb 2007 09:53:10 +0000 Subject: * ext/win32ole/win32ole.c (ole_val2olevariantdata): WIN32OLE_VARIANT#new accepts nil when variant type is VT_ARRAY. * test/win32ole/test_win32ole_variant.rb: ditto. * ext/win32ole/win32ole.c: small refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/win32ole/test_win32ole_variant.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/win32ole') diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index b84f5855cf..8bb81cc45b 100644 --- a/test/win32ole/test_win32ole_variant.rb +++ b/test/win32ole/test_win32ole_variant.rb @@ -146,6 +146,18 @@ if defined?(WIN32OLE_VARIANT) assert_equal([[],[]], obj.value) end + def test_create_vt_array_nil + vartype = WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_DISPATCH|WIN32OLE::VARIANT::VT_BYREF + obj = WIN32OLE_VARIANT.new(nil, vartype) + assert_nil(obj.value) + assert_equal(vartype, obj.vartype) + + vartype = WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_DISPATCH + obj = WIN32OLE_VARIANT.new(nil, vartype) + assert_nil(obj.value) + assert_equal(vartype, obj.vartype) + end + def test_create_vt_array_exc exc = assert_raise(TypeError) { obj = WIN32OLE_VARIANT.new(1, WIN32OLE::VARIANT::VT_ARRAY); -- cgit v1.2.3