[前][次][番号順一覧][スレッド一覧]

ruby-changes:7763

From: suke <ko1@a...>
Date: Wed, 10 Sep 2008 21:15:24 +0900 (JST)
Subject: [ruby-changes:7763] Ruby:r19284 (trunk): * test/win32ole/test_err_in_callback.rb: InternetExplorer should

suke	2008-09-10 21:15:04 +0900 (Wed, 10 Sep 2008)

  New Revision: 19284

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19284

  Log:
    * test/win32ole/test_err_in_callback.rb: InternetExplorer should
      be closed.
    
    * test/win32ole/err_in_callback.rb: ditto.

  Modified files:
    trunk/ChangeLog
    trunk/test/win32ole/err_in_callback.rb
    trunk/test/win32ole/test_err_in_callback.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19283)
+++ ChangeLog	(revision 19284)
@@ -1,3 +1,10 @@
+Wed Sep 10 21:09:32 2008  Masaki Suketa  <masaki.suketa@n...>
+
+	* 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  <akira@r...>
 
 	* lib/uri/common.rb (URI::Parser): new class.
Index: test/win32ole/test_err_in_callback.rb
===================================================================
--- test/win32ole/test_err_in_callback.rb	(revision 19283)
+++ test/win32ole/test_err_in_callback.rb	(revision 19284)
@@ -28,14 +28,14 @@
 
     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("<html><body><div id='str'>#{@str}</div></body></html>")
       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 @@
     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")
Index: test/win32ole/err_in_callback.rb
===================================================================
--- test/win32ole/err_in_callback.rb	(revision 19283)
+++ test/win32ole/err_in_callback.rb	(revision 19284)
@@ -5,7 +5,11 @@
 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

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]