aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/win32ole/win32ole_event/new_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/win32ole/win32ole_event/new_spec.rb')
-rw-r--r--spec/ruby/library/win32ole/win32ole_event/new_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/ruby/library/win32ole/win32ole_event/new_spec.rb b/spec/ruby/library/win32ole/win32ole_event/new_spec.rb
new file mode 100644
index 0000000000..5fffac535e
--- /dev/null
+++ b/spec/ruby/library/win32ole/win32ole_event/new_spec.rb
@@ -0,0 +1,33 @@
+require File.expand_path('../../fixtures/classes', __FILE__)
+
+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