use System Monitor Control to test win32ole
* test/win32ole/test_win32ole_method_event.rb: use System Monitor Control to test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2a75c70a36
commit
d02a7ac01c
@ -6,39 +6,26 @@ end
|
|||||||
require 'test/unit'
|
require 'test/unit'
|
||||||
|
|
||||||
if defined?(WIN32OLE_METHOD)
|
if defined?(WIN32OLE_METHOD)
|
||||||
|
require_relative 'available_ole'
|
||||||
def ado_installed?
|
|
||||||
installed = false
|
|
||||||
if defined?(WIN32OLE)
|
|
||||||
begin
|
|
||||||
WIN32OLE.new('ADODB.Connection')
|
|
||||||
installed = true
|
|
||||||
rescue
|
|
||||||
end
|
|
||||||
end
|
|
||||||
installed
|
|
||||||
end
|
|
||||||
|
|
||||||
class TestWIN32OLE_METHOD_EVENT < Test::Unit::TestCase
|
class TestWIN32OLE_METHOD_EVENT < Test::Unit::TestCase
|
||||||
unless ado_installed?
|
unless AvailableOLE.sysmon_available?
|
||||||
def test_dummy_for_skip_message
|
def test_dummy_for_skip_message
|
||||||
skip 'ActiveX Data Object Library not found'
|
skip 'System Monitor Control is not available'
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
def setup
|
def setup
|
||||||
typelib = WIN32OLE.new('ADODB.Connection').ole_typelib
|
ole_type = WIN32OLE_TYPE.new('System Monitor Control', 'SystemMonitor')
|
||||||
otype = WIN32OLE_TYPE.new(typelib.name, 'Connection')
|
@on_dbl_click = WIN32OLE_METHOD.new(ole_type, 'OnDblClick')
|
||||||
@will_connect = WIN32OLE_METHOD.new(otype, 'WillConnect')
|
|
||||||
ole_type = WIN32OLE_TYPE.new('Microsoft Shell Controls And Automation', 'Shell')
|
ole_type = WIN32OLE_TYPE.new('Microsoft Shell Controls And Automation', 'Shell')
|
||||||
@namespace = WIN32OLE_METHOD.new(ole_type, 'namespace')
|
@namespace = WIN32OLE_METHOD.new(ole_type, 'namespace')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_event?
|
def test_event?
|
||||||
assert(@will_connect.event?)
|
assert(@on_dbl_click.event?)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_event_interface
|
def test_event_interface
|
||||||
assert('ConnectionEvents', @will_connect.event_interface)
|
assert('DISystemMonitorEvents', @on_dbl_click.event_interface)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_event_interface_is_nil
|
def test_event_interface_is_nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user