From f18120b8a0bcc5735d7d9f7b2a39c8da7175c0e2 Mon Sep 17 00:00:00 2001 From: suke Date: Sat, 5 Jul 2008 11:54:06 +0000 Subject: * test/win32ole/test_word.rb: check word installed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/win32ole/test_word.rb | 77 +++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 25 deletions(-) (limited to 'test/win32ole/test_word.rb') diff --git a/test/win32ole/test_word.rb b/test/win32ole/test_word.rb index 2b455c6167..d5b2d91812 100644 --- a/test/win32ole/test_word.rb +++ b/test/win32ole/test_word.rb @@ -7,39 +7,66 @@ rescue LoadError end require "test/unit" -if defined?(WIN32OLE) - class TestWIN32OLE_WITH_WORD < Test::Unit::TestCase - - def setup - begin - @obj = WIN32OLE.new('Word.Application') - rescue WIN32OLERuntimeError - @obj = nil +def word_installed? + installed = false + w = nil + if defined?(WIN32OLE) + begin + w = WIN32OLE.new('Word.Application') + installed = true + rescue + ensure + if w + w.quit + w = nil end end + end + return installed +end + +if defined?(WIN32OLE) + w = nil + dotest = word_installed? + if !dotest + STDERR.puts("\n#{__FILE__} skipped(Microsoft Word not found.)") + end + if dotest + class TestWIN32OLE_WITH_WORD < Test::Unit::TestCase + def setup + begin + @obj = WIN32OLE.new('Word.Application') + rescue WIN32OLERuntimeError + @obj = nil + if !$skipped + $skipped = true + end + end + end - def test_ole_methods - if @obj - @obj.visible = true - @obj.wordbasic.disableAutoMacros(true) - assert(true) + def test_ole_methods + if @obj + @obj.visible = true + @obj.wordbasic.disableAutoMacros(true) + assert(true) + else + end end - end - def test_s_connect - if @obj - obj2 = WIN32OLE.connect("Word.Application") - assert_instance_of(WIN32OLE, obj2) - obj2.visible = true + def test_s_connect + if @obj + obj2 = WIN32OLE.connect("Word.Application") + assert_instance_of(WIN32OLE, obj2) + obj2.visible = true + end end - end - def teardown - if @obj - @obj.quit - @obj = nil + def teardown + if @obj + @obj.quit + @obj = nil + end end end - end end -- cgit v1.2.3