diff options
| author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-11 09:53:10 +0000 |
|---|---|---|
| committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-11 09:53:10 +0000 |
| commit | 20f80fab7b00e339bdd626c1d8aba5bf21a2e035 (patch) | |
| tree | 5fe0af3ff8fb66253e896a5e1b8d0693d4032093 /test/win32ole | |
| parent | 4f31c5f4d083168b13ae60f0d9ebf244aaef7f56 (diff) | |
| download | ruby-20f80fab7b00e339bdd626c1d8aba5bf21a2e035.tar.gz ruby-20f80fab7b00e339bdd626c1d8aba5bf21a2e035.tar.xz ruby-20f80fab7b00e339bdd626c1d8aba5bf21a2e035.zip | |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@11702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/win32ole')
| -rw-r--r-- | test/win32ole/test_win32ole_variant.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index b84f5855c..8bb81cc45 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); |
