ruby-changes:26165
From: nobu <ko1@a...>
Date: Thu, 6 Dec 2012 01:09:14 +0900 (JST)
Subject: [ruby-changes:26165] nobu:r38222 (trunk): test_object.rb: test for public_send
nobu 2012-12-06 01:07:27 +0900 (Thu, 06 Dec 2012) New Revision: 38222 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=38222 Log: test_object.rb: test for public_send * test/ruby/test_object.rb (TestObject#test_public_send): add test for public_send. Modified files: trunk/test/ruby/test_object.rb Index: test/ruby/test_object.rb =================================================================== --- test/ruby/test_object.rb (revision 38221) +++ test/ruby/test_object.rb (revision 38222) @@ -563,6 +563,32 @@ assert_equal(:ok, x) end + def test_public_send + c = Class.new do + def pub + :ok + end + + def invoke(m) + public_send(m) + end + + protected + def prot + :ng + end + + private + def priv + :ng + end + end.new + assert_equal(:ok, c.public_send(:pub)) + assert_raise(NoMethodError) {c.public_send(:priv)} + assert_raise(NoMethodError) {c.public_send(:prot)} + assert_raise(NoMethodError) {c.invoke(:priv)} + end + def test_no_superclass_method bug2312 = '[ruby-dev:39581]' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/