[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]