summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/win32ole/win32ole.c10
-rw-r--r--test/win32ole/test_win32ole.rb17
-rw-r--r--version.h6
4 files changed, 34 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 9924112570..f8f8b5409a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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|
diff --git a/version.h b/version.h
index 6961bfcc98..f9bb245d59 100644
--- a/version.h
+++ b/version.h
@@ -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[];