From bed46f2d8359e0113bf53b5a82f2644bdff8328d Mon Sep 17 00:00:00 2001 From: suke Date: Thu, 6 Nov 2008 12:38:49 +0000 Subject: * ext/win32ole/win32ole.c (fole_s_connect, fole_initialize, folevariant_initialize): check argument type of WIN32OLE.connect, WIN32OLE.new, WIN32OLE_VARIANT.new. * test/win32ole/test_win32ole.rb (test_s_new_exc, test_s_connect_exc): ditto. * test/win32ole/test_win32ole_variant.rb (test_s_new_exc): ditto. * test/win32ole/test_win32ole_method.rb: add assertion of WIN32OLE_METHOD.new. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/win32ole/test_win32ole.rb | 15 +++++++++++++++ test/win32ole/test_win32ole_method.rb | 3 +++ test/win32ole/test_win32ole_variant.rb | 6 ++++++ 3 files changed, 24 insertions(+) (limited to 'test') diff --git a/test/win32ole/test_win32ole.rb b/test/win32ole/test_win32ole.rb index 983c47929..b946aa6ff 100644 --- a/test/win32ole/test_win32ole.rb +++ b/test/win32ole/test_win32ole.rb @@ -153,6 +153,15 @@ if defined?(WIN32OLE) assert_instance_of(WIN32OLE, @dict2) end + def test_s_new_exc + assert_raise(TypeError) { + WIN32OLE.new(1) + } + assert_raise(TypeError) { + WIN32OLE.new("Scripting.Dictionary", 1) + } + end + def test_s_new_DCOM rshell = WIN32OLE.new("Shell.Application") assert_instance_of(WIN32OLE, rshell) @@ -172,6 +181,12 @@ if defined?(WIN32OLE) assert_instance_of(WIN32OLE, obj) end + def test_s_connect_exc + assert_raise(TypeError) { + WIN32OLE.connect(1) + } + end + def test_invoke_accept_symbol_hash_key fso = WIN32OLE.new('Scripting.FileSystemObject') afolder = fso.getFolder(".") diff --git a/test/win32ole/test_win32ole_method.rb b/test/win32ole/test_win32ole_method.rb index 161b10233..f2ed0c622 100644 --- a/test/win32ole/test_win32ole_method.rb +++ b/test/win32ole/test_win32ole_method.rb @@ -24,6 +24,9 @@ if defined?(WIN32OLE_METHOD) def test_initialize ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "Shell") + assert_raise(TypeError) { + WIN32OLE_METHOD.new(1, 2) + } assert_raise(ArgumentError) { method = WIN32OLE_METHOD.new("foo") } diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index 1226e0de5..af3876837 100644 --- a/test/win32ole/test_win32ole_variant.rb +++ b/test/win32ole/test_win32ole_variant.rb @@ -18,6 +18,12 @@ if defined?(WIN32OLE_VARIANT) assert_instance_of(WIN32OLE_VARIANT, obj) end + def test_s_new_exc + assert_raise(TypeError) { + WIN32OLE_VARIANT.new(/foo/) + } + end + def test_s_new_no_argument ex = nil begin -- cgit