2015-12-16 00:07:31 -05:00
|
|
|
# frozen_string_literal: false
|
2006-06-25 04:21:29 -04:00
|
|
|
#
|
|
|
|
# This is test for [ruby-Bugs#3237]
|
|
|
|
#
|
|
|
|
begin
|
|
|
|
require 'win32ole'
|
|
|
|
rescue LoadError
|
|
|
|
end
|
|
|
|
require "test/unit"
|
|
|
|
|
2017-09-13 09:24:59 -04:00
|
|
|
if defined?(WIN32OLE)
|
|
|
|
module Word; end
|
|
|
|
end
|
|
|
|
|
2008-07-05 07:54:06 -04:00
|
|
|
def word_installed?
|
|
|
|
installed = false
|
|
|
|
w = nil
|
|
|
|
if defined?(WIN32OLE)
|
|
|
|
begin
|
|
|
|
w = WIN32OLE.new('Word.Application')
|
2017-09-13 09:24:59 -04:00
|
|
|
WIN32OLE.const_load(w, Word)
|
2008-07-05 07:54:06 -04:00
|
|
|
installed = true
|
|
|
|
rescue
|
|
|
|
ensure
|
|
|
|
if w
|
2017-09-13 09:24:59 -04:00
|
|
|
w.quit(Word::WdDoNotSaveChanges)
|
2008-07-05 07:54:06 -04:00
|
|
|
w = nil
|
2006-06-25 04:21:29 -04:00
|
|
|
end
|
|
|
|
end
|
2008-07-05 07:54:06 -04:00
|
|
|
end
|
|
|
|
return installed
|
|
|
|
end
|
|
|
|
|
|
|
|
if defined?(WIN32OLE)
|
2015-02-10 17:54:39 -05:00
|
|
|
class TestWIN32OLE_WITH_WORD < Test::Unit::TestCase
|
|
|
|
unless word_installed?
|
|
|
|
def test_dummy_for_skip_message
|
|
|
|
skip "Microsoft Word is not installed"
|
|
|
|
end
|
|
|
|
else
|
2008-07-05 07:54:06 -04:00
|
|
|
def setup
|
|
|
|
begin
|
|
|
|
@obj = WIN32OLE.new('Word.Application')
|
|
|
|
rescue WIN32OLERuntimeError
|
|
|
|
@obj = nil
|
|
|
|
end
|
|
|
|
end
|
2006-06-25 04:21:29 -04:00
|
|
|
|
2008-07-05 07:54:06 -04:00
|
|
|
def test_ole_methods
|
|
|
|
if @obj
|
|
|
|
@obj.visible = true
|
|
|
|
@obj.wordbasic.disableAutoMacros(true)
|
|
|
|
assert(true)
|
|
|
|
end
|
2006-06-25 04:21:29 -04:00
|
|
|
end
|
|
|
|
|
2008-07-05 07:54:06 -04:00
|
|
|
def test_s_connect
|
|
|
|
if @obj
|
|
|
|
obj2 = WIN32OLE.connect("Word.Application")
|
|
|
|
assert_instance_of(WIN32OLE, obj2)
|
|
|
|
obj2.visible = true
|
|
|
|
end
|
2007-01-19 10:17:56 -05:00
|
|
|
end
|
|
|
|
|
2008-07-05 07:54:06 -04:00
|
|
|
def teardown
|
|
|
|
if @obj
|
2017-09-13 09:24:59 -04:00
|
|
|
@obj.quit(Word::WdDoNotSaveChanges)
|
2008-07-05 07:54:06 -04:00
|
|
|
@obj = nil
|
|
|
|
end
|
2006-06-25 04:21:29 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|