summaryrefslogtreecommitdiff
path: root/spec/ruby
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-07 12:12:45 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-07 12:12:45 +0000
commit0c003350382f8b90956e824b4e018fe0eb620ddf (patch)
treedff4a518e1a4ab2202ca528d105eb327b7357f49 /spec/ruby
parentd60738f6f1fb182f09a4706852f535f62772c09b (diff)
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
Diffstat (limited to 'spec/ruby')
-rw-r--r--spec/ruby/library/win32ole/fixtures/classes.rb1
-rw-r--r--spec/ruby/library/win32ole/win32ole_method/event_spec.rb26
2 files changed, 15 insertions, 12 deletions
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