diff --git a/ChangeLog b/ChangeLog index 683545bfad..6db80fb7d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Sep 10 21:09:32 2008 Masaki Suketa + + * test/win32ole/test_err_in_callback.rb: InternetExplorer should + be closed. + + * test/win32ole/err_in_callback.rb: ditto. + Wed Sep 10 18:25:19 2008 akira yamada * lib/uri/common.rb (URI::Parser): new class. diff --git a/test/win32ole/err_in_callback.rb b/test/win32ole/err_in_callback.rb index d09870c95d..6a0b711403 100644 --- a/test/win32ole/err_in_callback.rb +++ b/test/win32ole/err_in_callback.rb @@ -5,7 +5,11 @@ WIN32OLE_EVENT.message_loop sleep 0.2 ev = WIN32OLE_EVENT.new(ie) -ev.on_event('BeforeNavigate2') {|*args| +ev.on_event('NavigateComplete2') {|*args| foo } ie.navigate(ARGV.shift) +while ie.readystate != 4 + WIN32OLE_EVENT.message_loop + sleep 0.2 +end diff --git a/test/win32ole/test_err_in_callback.rb b/test/win32ole/test_err_in_callback.rb index 11ea6273fd..710d3651b9 100644 --- a/test/win32ole/test_err_in_callback.rb +++ b/test/win32ole/test_err_in_callback.rb @@ -28,14 +28,14 @@ if defined?(WIN32OLE) def create_temp_html fso = WIN32OLE.new('Scripting.FileSystemObject') - dummy_file = fso.GetTempName + ".html" + @dummy_file = fso.GetTempName + ".html" cfolder = fso.getFolder(".") @str = "This is test HTML file for Win32OLE (#{Time.now})" - f = cfolder.CreateTextFile(dummy_file) + f = cfolder.CreateTextFile(@dummy_file) f.writeLine("
#{@str}
") f.close - @f = dummy_file - dummy_path = cfolder.path + "\\" + dummy_file + @f = @dummy_file + dummy_path = cfolder.path + "\\" + @dummy_file dummy_path end @@ -54,26 +54,26 @@ if defined?(WIN32OLE) def ie_quit sh = WIN32OLE.new('Shell.Application') sh.windows.each do |w| - if w.ole_type.name == 'IWebBrowser2' - 20.times do |i| - if w.locationURL != "" && w.document - break - end - WIN32OLE_EVENT.message_loop - sleep 1 - end - e = w.document.getElementById("str") + i = 0 + begin + i = i + 1 + WIN32OLE_EVENT.message_loop + sleep 0.1 + e = w.document.all.item("str") if e && e.innerHTML == @str w.quit WIN32OLE_EVENT.message_loop sleep 0.2 + break end + next if i > 1000 + rescue + retry end end end def teardown - WIN32OLE_EVENT.message_loop ie_quit File.unlink(@f) File.unlink("test_err_in_callback.log")