From d5744aff3a164c358f92ef9dc2cda5c7a7612d97 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Mon, 14 Oct 2019 09:00:42 -0700 Subject: Fix DRbServer#any_to_s My previous fix in d0ed935d5bf8c3fce9800742a36e44fb7f63dda4 was not correct, as pointed out by cremno on GitHub. This simplifies things by just using Kernel#to_s. Also switch to bind_call(obj) instead of bind(obj).call for better performance. --- test/drb/test_drb.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/drb') diff --git a/test/drb/test_drb.rb b/test/drb/test_drb.rb index b4399573aa..15e40ac596 100644 --- a/test/drb/test_drb.rb +++ b/test/drb/test_drb.rb @@ -327,6 +327,20 @@ class TestBug4409 < Test::Unit::TestCase end end +class TestDRbAnyToS < Test::Unit::TestCase + class BO < BasicObject + end + + def test_any_to_s + server = DRb::DRbServer.new('druby://:0') + server.singleton_class.send(:public, :any_to_s) + assert_equal("foo:String", server.any_to_s("foo")) + assert_match(/\A#\z/, server.any_to_s(BO.new)) + server.stop_service + server.thread.join + end +end + class TestDRbTCP < Test::Unit::TestCase def test_immediate_close server = DRb::DRbServer.new('druby://:0') -- cgit v1.2.3