summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-04 11:48:53 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-04 11:48:53 +0000
commit95ee14cd42cef0abf3edd50c1644b005f9d6e106 (patch)
tree9e76cbdc382305854caf89a3cf93ce2c89245aa0 /test
parent392b4ff7118dfedc4a850e1037c286426b04b8a4 (diff)
downloadruby-95ee14cd42cef0abf3edd50c1644b005f9d6e106.tar.gz
ruby-95ee14cd42cef0abf3edd50c1644b005f9d6e106.tar.xz
ruby-95ee14cd42cef0abf3edd50c1644b005f9d6e106.zip
* ext/win32ole/win32ole.c: add WIN32OLE_EVENT#unadvise.
* test/win32ole/test_win32ole_event.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/win32ole/test_win32ole_event.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/test/win32ole/test_win32ole_event.rb b/test/win32ole/test_win32ole_event.rb
index 8fd02b5e9..522e7a61f 100644
--- a/test/win32ole/test_win32ole_event.rb
+++ b/test/win32ole/test_win32ole_event.rb
@@ -89,6 +89,26 @@ if defined?(WIN32OLE_EVENT)
assert(@event!="")
end
+ def test_unadvise
+ ev = WIN32OLE_EVENT.new(@ie, 'DWebBrowserEvents')
+ ev.on_event {|*args| default_handler(*args)}
+ @ie.navigate("file:///#{@f}")
+ while @ie.busy
+ sleep 0.1
+ end
+ assert_match(/BeforeNavigate/, @event)
+ ev.unadvise
+ @event = ""
+ @ie.navigate("file:///#{@f}")
+ while @ie.busy
+ sleep 0.1
+ end
+ assert_equal("", @event);
+ assert_raise(WIN32OLERuntimeError) {
+ ev.on_event {|*args| default_handler(*args)}
+ }
+ end
+
def handler1
@event2 = "handler1"
end
@@ -102,9 +122,9 @@ if defined?(WIN32OLE_EVENT)
end
def teardown
- File.unlink(@f)
@ie.quit
@ie = nil
+ File.unlink(@f)
GC.start
end
end