summaryrefslogtreecommitdiff
path: root/test/wsdl
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-05-23 15:40:01 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-05-23 15:40:01 +0000
commitbc315949ed40734b23625e4d0ef3f71824658fc8 (patch)
treeafd76f48e18d1f0f118e0bb22b45b56dfa2ec381 /test/wsdl
parent4e8ec8f2fab63ddc6f873747aa3fc48b943e5c54 (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.rb33
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