1# 2# This is test for [ruby-Bugs#3237] 3# 4begin 5 require 'win32ole' 6rescue LoadError 7end 8require "test/unit" 9 10def word_installed? 11 installed = false 12 w = nil 13 if defined?(WIN32OLE) 14 begin 15 w = WIN32OLE.new('Word.Application') 16 installed = true 17 rescue 18 ensure 19 if w 20 w.quit 21 w = nil 22 end 23 end 24 end 25 return installed 26end 27 28if defined?(WIN32OLE) 29 w = nil 30 dotest = word_installed? 31 if !dotest 32 STDERR.puts("\n#{__FILE__} skipped(Microsoft Word not found.)") 33 end 34 if dotest 35 class TestWIN32OLE_WITH_WORD < Test::Unit::TestCase 36 def setup 37 begin 38 @obj = WIN32OLE.new('Word.Application') 39 rescue WIN32OLERuntimeError 40 @obj = nil 41 if !$skipped 42 $skipped = true 43 end 44 end 45 end 46 47 def test_ole_methods 48 if @obj 49 @obj.visible = true 50 @obj.wordbasic.disableAutoMacros(true) 51 assert(true) 52 else 53 end 54 end 55 56 def test_s_connect 57 if @obj 58 obj2 = WIN32OLE.connect("Word.Application") 59 assert_instance_of(WIN32OLE, obj2) 60 obj2.visible = true 61 end 62 end 63 64 def teardown 65 if @obj 66 @obj.quit 67 @obj = nil 68 end 69 end 70 end 71 end 72end 73