diff options
Diffstat (limited to 'ext/win32ole/tests/testOLEEVENT.rb')
-rw-r--r-- | ext/win32ole/tests/testOLEEVENT.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/win32ole/tests/testOLEEVENT.rb b/ext/win32ole/tests/testOLEEVENT.rb new file mode 100644 index 0000000000..15b7ca8413 --- /dev/null +++ b/ext/win32ole/tests/testOLEEVENT.rb @@ -0,0 +1,33 @@ +require 'rubyunit' +require 'win32ole' + +class TestWIN32OLE_EVENT < RUNIT::TestCase + def setup + @excel = WIN32OLE.new("Excel.Application") + @excel.visible = true + end + def test_on_event + book = @excel.workbooks.Add + value = "" + begin + ev = WIN32OLE_EVENT.new(book, 'WorkbookEvents') + ev.on_event('SheetChange'){|arg1, arg2| + begin + value = arg1.value + rescue + value = $!.message + end + } + book.Worksheets(1).Range("A1").value = "OK" + ensure + book.saved = true + end + assert_equal("OK", value) + end + def teardown + @excel.quit + @excel = nil + GC.start + end +end + |