diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-01-20 02:28:49 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-01-20 02:28:49 +0000 |
commit | e16e6a66ae0eb3630ae11c787d7f062945f93986 (patch) | |
tree | 65f2c38b2db1c11f0ebd859e9cfc685b254f1f55 | |
parent | b44bd4c6d35a98e4e9fb2e49a7d6b600cf140baa (diff) | |
download | ruby-e16e6a66ae0eb3630ae11c787d7f062945f93986.tar.gz |
modify WIN32OLERuntimeError message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/win32ole/win32ole.c | 10 | ||||
-rw-r--r-- | test/win32ole/test_win32ole.rb | 17 | ||||
-rw-r--r-- | version.h | 6 |
4 files changed, 34 insertions, 6 deletions
@@ -1,3 +1,10 @@ +Sat Jan 20 11:18:49 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c (ole_invoke, ole_invoke2, ole_propertyput): + modify WIN32OLERuntimeError message. + + * test/win32ole/test_win32ole.rb: ditto. + Fri Jan 19 17:12:23 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp> * ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_VARIANT::Empty, diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 5773b2473c..9eaa2f9661 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -2521,7 +2521,8 @@ ole_invoke(int argc, VALUE *argv, VALUE self, USHORT wFlags, BOOL is_bracket) if (FAILED(hr)) { v = ole_excepinfo2msg(&excepinfo); - ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "%s", + ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "(in OLE method `%s': )%s", + StringValuePtr(cmd), StringValuePtr(v)); } obj = ole_variant2val(&result); @@ -2723,7 +2724,8 @@ ole_invoke2(VALUE self, VALUE dispid, VALUE args, VALUE types, USHORT dispkind) if (FAILED(hr)) { v = ole_excepinfo2msg(&excepinfo); - ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "_invoke %s", + ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "(in OLE method `<dispatch id:%d>': )%s", + NUM2INT(dispid), StringValuePtr(v)); } @@ -2907,7 +2909,9 @@ ole_propertyput(VALUE self, VALUE property, VALUE value) } if (FAILED(hr)) { v = ole_excepinfo2msg(&excepinfo); - ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, StringValuePtr(v)); + ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "(in setting property `%s': )%s", + StringValuePtr(property), + StringValuePtr(v)); } return Qnil; } diff --git a/test/win32ole/test_win32ole.rb b/test/win32ole/test_win32ole.rb index df33acb94f..81182372dc 100644 --- a/test/win32ole/test_win32ole.rb +++ b/test/win32ole/test_win32ole.rb @@ -39,6 +39,23 @@ if defined?(WIN32OLE) } end + def test_raise_message + exc = assert_raise(WIN32OLERuntimeError) { + @dict1.add + } + assert_match(/^\(in OLE method `add': \)/, exc.message) + + exc = assert_raise(WIN32OLERuntimeError) { + @dict1._invoke(1, [], []) + } + assert_match(/^\(in OLE method `<dispatch id:1>': \)/, exc.message) + + exc = assert_raise(WIN32OLERuntimeError) { + @dict1.compareMode = 100 + } + assert_match(/^\(in setting property `compareMode': \)/, exc.message) + end + def test_ole_methods methods = @dict1.ole_methods mnames = methods.collect {|m| @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2007-01-19" +#define RUBY_RELEASE_DATE "2007-01-20" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20070119 +#define RUBY_RELEASE_CODE 20070120 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 19 +#define RUBY_RELEASE_DAY 20 RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_release_date[]; |