2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../fixtures/classes'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
platform_is :windows do
|
|
|
|
require 'win32ole'
|
|
|
|
|
|
|
|
describe "WIN32OLE_EVENT.new" do
|
|
|
|
before :each do
|
|
|
|
@ie = WIN32OLESpecs.new_ole('InternetExplorer.Application')
|
|
|
|
end
|
|
|
|
|
|
|
|
after :each do
|
|
|
|
@ie.Quit if @ie
|
|
|
|
end
|
|
|
|
|
|
|
|
it "raises TypeError given invalid argument" do
|
|
|
|
lambda { WIN32OLE_EVENT.new "A" }.should raise_error TypeError
|
|
|
|
end
|
|
|
|
|
|
|
|
it "raises RuntimeError if event does not exist" do
|
|
|
|
lambda { WIN32OLE_EVENT.new(@ie, 'A') }.should raise_error RuntimeError
|
|
|
|
end
|
|
|
|
|
|
|
|
it "raises RuntimeError if OLE object has no events" do
|
|
|
|
dict = WIN32OLESpecs.new_ole('Scripting.Dictionary')
|
|
|
|
lambda { WIN32OLE_EVENT.new(dict) }.should raise_error RuntimeError
|
|
|
|
end
|
|
|
|
|
|
|
|
it "creates WIN32OLE_EVENT object" do
|
|
|
|
ev = WIN32OLE_EVENT.new(@ie, 'DWebBrowserEvents')
|
|
|
|
ev.should be_kind_of WIN32OLE_EVENT
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|