diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-06 16:35:38 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-06 16:35:38 +0000 |
commit | 663b69c5a97dfb000c25d925853a76b51ac7533b (patch) | |
tree | 4f6b87f4032f0bd3063ff0e00c15d8eacbcc2303 /ext/win32ole/tests | |
parent | 8cccadd659536072e9f11feabd1bcd6a13c78cbb (diff) |
should set only one handler in WIN32OLE_EVENT#on_event
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole/tests')
-rw-r--r-- | ext/win32ole/tests/testOLEEVENT.rb | 40 | ||||
-rw-r--r-- | ext/win32ole/tests/testOLEPARAM.rb | 9 |
2 files changed, 40 insertions, 9 deletions
diff --git a/ext/win32ole/tests/testOLEEVENT.rb b/ext/win32ole/tests/testOLEEVENT.rb index 15b7ca8413..368794b150 100644 --- a/ext/win32ole/tests/testOLEEVENT.rb +++ b/ext/win32ole/tests/testOLEEVENT.rb @@ -5,6 +5,7 @@ class TestWIN32OLE_EVENT < RUNIT::TestCase def setup @excel = WIN32OLE.new("Excel.Application") @excel.visible = true + @event = "" end def test_on_event book = @excel.workbooks.Add @@ -24,6 +25,45 @@ class TestWIN32OLE_EVENT < RUNIT::TestCase end assert_equal("OK", value) end + + def handler1 + @event += "handler1" + end + def handler2 + @event += "handler2" + end + + def test_on_event2 + book = @excel.workbooks.Add + begin + ev = WIN32OLE_EVENT.new(book, 'WorkbookEvents') + ev.on_event('SheetChange'){|arg1, arg2| + handler1 + } + ev.on_event('SheetChange'){|arg1, arg2| + handler2 + } + book.Worksheets(1).Range("A1").value = "OK" + ensure + book.saved = true + end + assert_equal("handler2", @event) + end + + def test_on_event3 + book = @excel.workbooks.Add + begin + ev = WIN32OLE_EVENT.new(book, 'WorkbookEvents') + ev.on_event{ handler1 } + ev.on_event{ handler2 } + book.Worksheets(1).Range("A1").value = "OK" + ensure + book.saved = true + end + assert_equal("handler2", @event) + end + + def teardown @excel.quit @excel = nil diff --git a/ext/win32ole/tests/testOLEPARAM.rb b/ext/win32ole/tests/testOLEPARAM.rb index 685b548aa5..4014fadbfc 100644 --- a/ext/win32ole/tests/testOLEPARAM.rb +++ b/ext/win32ole/tests/testOLEPARAM.rb @@ -62,13 +62,4 @@ class TestOLEPARAM < RUNIT::TestCase f = methods.find {|m| m.name == 'SaveAs'} assert(f.params[0].optional?) end - def test_ole_type_detail - classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) - methods = classes.find {|c| c.name == 'Worksheet'}.ole_methods - f = methods.find {|m| m.name == 'SaveAs'} - assert_equal(nil, f.params[0].default) - methods = classes.find {|c| c.name == 'Workbook'}.ole_methods - f = methods.find {|m| m.name == 'SaveAs'} - assert_equal(1, f.params[6].default) - end end |