diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-23 15:40:01 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-23 15:40:01 +0000 |
commit | bc315949ed40734b23625e4d0ef3f71824658fc8 (patch) | |
tree | afd76f48e18d1f0f118e0bb22b45b56dfa2ec381 /test/wsdl | |
parent | 4e8ec8f2fab63ddc6f873747aa3fc48b943e5c54 (diff) |
* test/soap/calc: method name 'set' was able to crash with a class Set.
[ruby-dev:26210]
* test/wsdl/document/test_rpc.rb: dateTime comparison failed under
TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/wsdl')
-rw-r--r-- | test/wsdl/document/test_rpc.rb | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/test/wsdl/document/test_rpc.rb b/test/wsdl/document/test_rpc.rb index 66b804a0f9..5dac10d580 100644 --- a/test/wsdl/document/test_rpc.rb +++ b/test/wsdl/document/test_rpc.rb @@ -105,15 +105,28 @@ class TestRPC < Test::Unit::TestCase echo.xmlattr_attr_int = 5 ret = @client.echo(echo) - timeformat = "%Y-%m-%dT%H:%M:%S.%s" + # struct#m_datetime in a response is a DateTime even though + # struct#m_datetime in a request is a Time. assert_equal("mystring2", ret.struct1.m_string) - assert_equal(now2.strftime(timeformat), ret.struct1.m_datetime.strftime(timeformat)) + assert_equal(now2, date2time(ret.struct1.m_datetime)) assert_equal("mystring1", ret.struct_2.m_string) - assert_equal(now1.strftime(timeformat), ret.struct_2.m_datetime.strftime(timeformat)) + assert_equal(now1, date2time(ret.struct_2.m_datetime)) assert_equal("attr_string", ret.xmlattr_attr_string) assert_equal(5, ret.xmlattr_attr_int) end + def date2time(date) + if date.respond_to?(:to_time) + date.to_time + else + d = date.new_offset(0) + d.instance_eval { + Time.utc(year, mon, mday, hour, min, sec, + (sec_fraction * 86400000000).to_i) + }.getlocal + end + end + include ::SOAP def test_naive @client = ::SOAP::RPC::Driver.new("http://localhost:#{Port}/") @@ -136,11 +149,11 @@ class TestRPC < Test::Unit::TestCase ret = @client.echo(echo) timeformat = "%Y-%m-%dT%H:%M:%S" assert_equal('mystring2', ret.struct1.m_string) - assert_equal('2005-03-17T19:47:32', ret.struct1.m_datetime.strftime(timeformat)) - #p ret.struct1.class - #p ret.struct_2.class + assert_equal('2005-03-17T19:47:32', + ret.struct1.m_datetime.strftime(timeformat)) assert_equal("mystring1", ret.struct_2.m_string) - assert_equal('2005-03-17T19:47:31', ret.struct_2.m_datetime.strftime(timeformat)) + assert_equal('2005-03-17T19:47:31', + ret.struct_2.m_datetime.strftime(timeformat)) assert_equal('attr_string', ret.xmlattr_attr_string) assert_equal(5, ret.xmlattr_attr_int) @@ -149,9 +162,11 @@ class TestRPC < Test::Unit::TestCase ret = @client.echo(echo) timeformat = "%Y-%m-%dT%H:%M:%S" assert_equal('mystring2', ret.struct1.m_string) - assert_equal('2005-03-17T19:47:32', ret.struct1.m_datetime.strftime(timeformat)) + assert_equal('2005-03-17T19:47:32', + ret.struct1.m_datetime.strftime(timeformat)) assert_equal("mystring1", ret.struct_2.m_string) - assert_equal('2005-03-17T19:47:31', ret.struct_2.m_datetime.strftime(timeformat)) + assert_equal('2005-03-17T19:47:31', + ret.struct_2.m_datetime.strftime(timeformat)) end end |