diff options
Diffstat (limited to 'test/win32ole/test_win32ole_event.rb')
-rw-r--r-- | test/win32ole/test_win32ole_event.rb | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/test/win32ole/test_win32ole_event.rb b/test/win32ole/test_win32ole_event.rb index f486749113..3ab7654a62 100644 --- a/test/win32ole/test_win32ole_event.rb +++ b/test/win32ole/test_win32ole_event.rb @@ -21,8 +21,38 @@ def ado_installed? installed end +def swbemsink_avairable? + available = false + if defined?(WIN32OLE) + wmi = nil + begin + wmi = WIN32OLE.new('WbemScripting.SWbemSink') + available = true + rescue + end + end + available +end + if defined?(WIN32OLE_EVENT) class TestWIN32OLE_EVENT < Test::Unit::TestCase + def test_s_new_exception + assert_raise(TypeError) { + WIN32OLE_EVENT.new("A") + } + end + end + + class TestWIN32OLE_EVENT_SWbemSink < Test::Unit::TestCase + unless swbemsink_avairable? + def test_dummy_for_skip_message + skip "'WbemScripting.SWbemSink' is not available" + end + else + end + end + + class TestWIN32OLE_EVENT_ADO < Test::Unit::TestCase unless ado_installed? def test_dummy_for_skip_message skip "ActiveX Data Object Library not found" @@ -50,12 +80,6 @@ if defined?(WIN32OLE_EVENT) @event3 = "" end - def test_s_new - assert_raise(TypeError) { - WIN32OLE_EVENT.new("A") - } - end - def test_s_new_without_itf ev = WIN32OLE_EVENT.new(@db) ev.on_event {|*args| default_handler(*args)} |