diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-21 14:53:13 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-21 14:53:13 +0000 |
commit | dad3ce7a73b3987b1c275adbe34d035b184f1827 (patch) | |
tree | 294ed15cddceae3c3121e4dd413c74813cff1bb4 | |
parent | 042d12d88499478536e9c5c0b71f18a0328d21fa (diff) |
merged from trunk (r27922)
* ext/win32ole/win32ole.c (ole_invoke): merged from trunk (r27922).
raise NoMethodError when COM method is not found.
* test/win32ole/test_win32ole.rb (test_no_method_error): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/win32ole/win32ole.c | 2 | ||||
-rw-r--r-- | test/win32ole/test_win32ole.rb | 7 |
3 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Fri May 21 23:46:43 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c (ole_invoke): merged from trunk (r27922). + raise NoMethodError when COM method is not found. + + * test/win32ole/test_win32ole.rb (test_no_method_error): ditto. + Fri May 21 19:11:42 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/nkf/nkf.c (rb_nkf_convert, rb_nkf_guess): check too huge diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index ce288f3b95..bfd8db2b53 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -3347,7 +3347,7 @@ ole_invoke(int argc, VALUE *argv, VALUE self, USHORT wFlags, BOOL is_bracket) &wcmdname, 1, lcid, &DispID); SysFreeString(wcmdname); if(FAILED(hr)) { - ole_raise(hr, eWIN32OLERuntimeError, + ole_raise(hr, rb_eNoMethodError, "unknown property or method: `%s'", StringValuePtr(cmd)); } diff --git a/test/win32ole/test_win32ole.rb b/test/win32ole/test_win32ole.rb index 8c8528fde3..8d72272b9c 100644 --- a/test/win32ole/test_win32ole.rb +++ b/test/win32ole/test_win32ole.rb @@ -55,6 +55,13 @@ if defined?(WIN32OLE) assert_match(/^\(in setting property `compareMode': \)/, exc.message) #` end + def test_no_method_error + exc = assert_raise(NoMethodError) { + @dict1.non_exist_method + } + assert_match(/non_exist_method/, exc.message) + end + def test_ole_methods methods = @dict1.ole_methods mnames = methods.collect {|m| |