From 0c003350382f8b90956e824b4e018fe0eb620ddf Mon Sep 17 00:00:00 2001 From: suke Date: Fri, 7 Dec 2018 12:12:45 +0000 Subject: should not use Internet Explorer * spec/ruby/library/win32ole/fixtures/classes.rb: add SYSTEM_MONITOR_CONTROL_AVAILABLE. * spec/ruby/library/win32ole/win32ole_method/event_spec.rb: Internet Explorer is not available in some environment. Instead, try to use System Monitor Control. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/library/win32ole/fixtures/classes.rb | 1 + .../library/win32ole/win32ole_method/event_spec.rb | 26 ++++++++++++---------- 2 files changed, 15 insertions(+), 12 deletions(-) (limited to 'spec/ruby/library') diff --git a/spec/ruby/library/win32ole/fixtures/classes.rb b/spec/ruby/library/win32ole/fixtures/classes.rb index 139aa1225c..70612ed427 100644 --- a/spec/ruby/library/win32ole/fixtures/classes.rb +++ b/spec/ruby/library/win32ole/fixtures/classes.rb @@ -2,6 +2,7 @@ require 'win32ole' module WIN32OLESpecs MSXML_AVAILABLE = !!WIN32OLE_TYPELIB.typelibs.find { |t| t.name.start_with?('Microsoft XML') } + SYSTEM_MONITOR_CONTROL_AVAILABLE = !!WIN32OLE_TYPELIB.typelibs.find{ |t| t.name.start_with?('System Monitor Control') } def self.new_ole(name) tries = 0 diff --git a/spec/ruby/library/win32ole/win32ole_method/event_spec.rb b/spec/ruby/library/win32ole/win32ole_method/event_spec.rb index 25435438aa..81628805d0 100644 --- a/spec/ruby/library/win32ole/win32ole_method/event_spec.rb +++ b/spec/ruby/library/win32ole/win32ole_method/event_spec.rb @@ -1,20 +1,22 @@ platform_is :windows do - require 'win32ole' + require_relative '../fixtures/classes' + guard -> { WIN32OLESpecs::SYSTEM_MONITOR_CONTROL_AVAILABLE } do - describe "WIN32OLE_METHOD#event?" do - before :each do - ole_type = WIN32OLE_TYPE.new("Microsoft Internet Controls", "WebBrowser") - @navigate_method = WIN32OLE_METHOD.new(ole_type, "NavigateComplete") - end + describe "WIN32OLE_METHOD#event?" do + before :each do + ole_type = WIN32OLE_TYPE.new("System Monitor Control", "SystemMonitor") + @on_dbl_click_method = WIN32OLE_METHOD.new(ole_type, "OnDblClick") + end - it "raises ArgumentError if argument is given" do - lambda { @navigate_method.event?(1) }.should raise_error ArgumentError - end + it "raises ArgumentError if argument is given" do + lambda { @on_dbl_click_method.event?(1) }.should raise_error ArgumentError + end - it "returns true for browser's 'NavigateComplete' method" do - @navigate_method.event?.should be_true - end + it "returns true for System Monitor Control's 'OnDblClick' method" do + @on_dbl_click_method.event?.should be_true + end + end end end -- cgit v1.2.3