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

ruby-changes:52815

From: suke <ko1@a...>
Date: Fri, 12 Oct 2018 12:55:27 +0900 (JST)
Subject: [ruby-changes:52815] suke:r65027 (trunk): use ADODB.connection instead of Microsoft Internet Controls

suke	2018-10-12 12:55:21 +0900 (Fri, 12 Oct 2018)

  New Revision: 65027

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65027

  Log:
    use ADODB.connection instead of Microsoft Internet Controls
    
      * test/win32ole/test_win32ole_method.rb: remove test using Microsoft
        Internet Controls.
    
      * test/win32ole/test_win32ole_method_event.rb: add test using
        ADODB.connection.

  Added files:
    trunk/test/win32ole/test_win32ole_method_event.rb
  Modified files:
    trunk/test/win32ole/test_win32ole_method.rb
Index: test/win32ole/test_win32ole_method.rb
===================================================================
--- test/win32ole/test_win32ole_method.rb	(revision 65026)
+++ test/win32ole/test_win32ole_method.rb	(revision 65027)
@@ -18,9 +18,6 @@ if defined?(WIN32OLE_METHOD) https://github.com/ruby/ruby/blob/trunk/test/win32ole/test_win32ole_method.rb#L18
 
       ole_type = WIN32OLE_TYPE.new("Microsoft Scripting Runtime", "File")
       @m_file_name = WIN32OLE_METHOD.new(ole_type, "name")
-
-      ole_type = WIN32OLE_TYPE.new("Microsoft Internet Controls", "WebBrowser")
-      @m_navigate_complete = WIN32OLE_METHOD.new(ole_type, "NavigateComplete")
     end
 
     def test_initialize
@@ -81,16 +78,6 @@ if defined?(WIN32OLE_METHOD) https://github.com/ruby/ruby/blob/trunk/test/win32ole/test_win32ole_method.rb#L78
       assert(!@m_invoke.visible?)
     end
 
-    def test_event?
-      assert(@m_navigate_complete.event?)
-      assert(!@m_namespace.event?)
-    end
-
-    def test_event_interface
-      assert_equal("DWebBrowserEvents", @m_navigate_complete.event_interface)
-      assert_equal(nil, @m_namespace.event_interface)
-    end
-
     def test_helpstring
       assert_equal("Get special folder from ShellSpecialFolderConstants", @m_namespace.helpstring)
     end
Index: test/win32ole/test_win32ole_method_event.rb
===================================================================
--- test/win32ole/test_win32ole_method_event.rb	(nonexistent)
+++ test/win32ole/test_win32ole_method_event.rb	(revision 65027)
@@ -0,0 +1,49 @@ https://github.com/ruby/ruby/blob/trunk/test/win32ole/test_win32ole_method_event.rb#L1
+begin
+  require 'win32ole'
+rescue LoadError
+end
+
+require 'test/unit'
+
+if defined?(WIN32OLE_METHOD)
+
+  def ado_installed?
+    installed = false
+    if defined?(WIN32OLE)
+      begin
+        WIN32OLE.new('ADODB.Connection')
+        installed = true
+      rescue
+      end
+    end
+    installed
+  end
+
+  class TestWIN32OLE_METHOD_EVENT < Test::Unit::TestCase
+    unless ado_installed?
+      def test_dummy_for_skip_message
+        skip 'ActiveX Data Object Library not found'
+      end
+    else
+      def setup
+        typelib = WIN32OLE.new('ADODB.Connection').ole_typelib
+        otype = WIN32OLE_TYPE.new(typelib.name, 'Connection')
+        @will_connect = WIN32OLE_METHOD.new(otype, 'WillConnect')
+        ole_type = WIN32OLE_TYPE.new('Microsoft Shell Controls And Automation', 'Shell')
+        @namespace = WIN32OLE_METHOD.new(ole_type, 'namespace')
+      end
+
+      def test_event?
+        assert(@will_connect.event?)
+      end
+
+      def test_event_interface
+        assert('ConnectionEvents', @will_connect.event_interface)
+      end
+
+      def test_event_interface_is_nil
+        assert_equal(nil, @namespace.event_interface)
+      end
+    end
+  end
+end

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

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