diff options
author | Leon Breedt <bitserf@gmail.com> | 2005-04-04 22:58:02 +0000 |
---|---|---|
committer | Leon Breedt <bitserf@gmail.com> | 2005-04-04 22:58:02 +0000 |
commit | d7a7d85dbdd2e13612affe48cca39aa48643944d (patch) | |
tree | d4a7cd556125b93b4d93e53a074ee730fc25effa /actionwebservice/lib/action_web_service/test_invoke.rb | |
parent | a87c1d4dd856d138e97e821083c905b481982399 (diff) | |
download | rails-d7a7d85dbdd2e13612affe48cca39aa48643944d.tar.gz rails-d7a7d85dbdd2e13612affe48cca39aa48643944d.tar.bz2 rails-d7a7d85dbdd2e13612affe48cca39aa48643944d.zip |
* Fix casting of nested members in structured types if we have a signature
type available for it even if they are already of the desired type as
SOAP/XML-RPC unmarshaling may have gotten it wrong: SOAP likes to always
use DateTime no matter what, for example, whereas we allow a distinction
between Date, DateTime and Time in the signature for convenience casting
* Fix raising of exceptions by test_invoke so functional tests fail properly on exception
instead of returning the exception object
* Fix Struct#each_pair to yield the value and not the member type
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice/lib/action_web_service/test_invoke.rb')
-rw-r--r-- | actionwebservice/lib/action_web_service/test_invoke.rb | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/actionwebservice/lib/action_web_service/test_invoke.rb b/actionwebservice/lib/action_web_service/test_invoke.rb index c22ca618dc..119bc21f68 100644 --- a/actionwebservice/lib/action_web_service/test_invoke.rb +++ b/actionwebservice/lib/action_web_service/test_invoke.rb @@ -59,10 +59,8 @@ module Test # :nodoc: def decode_rpc_response public_method_name, return_value = protocol.decode_response(@response.body) - unless @return_exceptions - exception = is_exception?(return_value) - raise exception if exception - end + exception = is_exception?(return_value) + raise exception if exception return_value end @@ -90,10 +88,10 @@ module Test # :nodoc: def is_exception?(obj) case protocol - when :soap + when :soap, ActionWebService::Protocol::Soap::SoapProtocol (obj.respond_to?(:detail) && obj.detail.respond_to?(:cause) && \ obj.detail.cause.is_a?(Exception)) ? obj.detail.cause : nil - when :xmlrpc + when :xmlrpc, ActionWebService::Protocol::XmlRpc::XmlRpcProtocol obj.is_a?(XMLRPC::FaultException) ? obj : nil end end |