mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

* test/win32ole/test_win32ole_method.rb: remove test using Microsoft Internet Controls. * test/win32ole/test_win32ole_method_event.rb: add test using ADODB.connection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
49 lines
1.1 KiB
Ruby
49 lines
1.1 KiB
Ruby
begin
|
|
require 'win32ole'
|
|
rescue LoadError
|
|
end
|
|
|
|
require 'test/unit'
|
|
|
|
if defined?(WIN32OLE_METHOD)
|
|
|
|
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
|
|
unless ado_installed?
|
|
def test_dummy_for_skip_message
|
|
skip 'ActiveX Data Object Library not found'
|
|
end
|
|
else
|
|
def setup
|
|
typelib = WIN32OLE.new('ADODB.Connection').ole_typelib
|
|
otype = WIN32OLE_TYPE.new(typelib.name, 'Connection')
|
|
@will_connect = WIN32OLE_METHOD.new(otype, 'WillConnect')
|
|
ole_type = WIN32OLE_TYPE.new('Microsoft Shell Controls And Automation', 'Shell')
|
|
@namespace = WIN32OLE_METHOD.new(ole_type, 'namespace')
|
|
end
|
|
|
|
def test_event?
|
|
assert(@will_connect.event?)
|
|
end
|
|
|
|
def test_event_interface
|
|
assert('ConnectionEvents', @will_connect.event_interface)
|
|
end
|
|
|
|
def test_event_interface_is_nil
|
|
assert_equal(nil, @namespace.event_interface)
|
|
end
|
|
end
|
|
end
|
|
end
|