diff options
| author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-04 11:48:53 +0000 |
|---|---|---|
| committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-04 11:48:53 +0000 |
| commit | 95ee14cd42cef0abf3edd50c1644b005f9d6e106 (patch) | |
| tree | 9e76cbdc382305854caf89a3cf93ce2c89245aa0 /test | |
| parent | 392b4ff7118dfedc4a850e1037c286426b04b8a4 (diff) | |
| download | ruby-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.rb | 22 |
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 |
