From 9ecd43fa98bb45b77a1c2334c6e9ba500d31962a Mon Sep 17 00:00:00 2001 From: suke Date: Tue, 4 Sep 2007 11:48:53 +0000 Subject: * ext/win32ole/win32ole.c: add WIN32OLE_EVENT#unadvise. * test/win32ole/test_win32ole_event.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/win32ole/test_win32ole_event.rb | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/win32ole/test_win32ole_event.rb b/test/win32ole/test_win32ole_event.rb index 8fd02b5e9b..522e7a61f0 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 -- cgit v1.2.3