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

ruby-changes:20872

From: yugui <ko1@a...>
Date: Thu, 11 Aug 2011 09:39:28 +0900 (JST)
Subject: [ruby-changes:20872] yugui:r32922 (ruby_1_9_2): merges r32327 from trunk into ruby_1_9_2.

yugui	2011-08-11 09:38:53 +0900 (Thu, 11 Aug 2011)

  New Revision: 32922

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32922

  Log:
    merges r32327 from trunk into ruby_1_9_2.
    --
    * test/ruby/test_module.rb: tests for [Bug #3422] and [Bug #3423].

  Modified files:
    branches/ruby_1_9_2/ChangeLog
    branches/ruby_1_9_2/test/ruby/test_module.rb
    branches/ruby_1_9_2/version.h

Index: ruby_1_9_2/ChangeLog
===================================================================
--- ruby_1_9_2/ChangeLog	(revision 32921)
+++ ruby_1_9_2/ChangeLog	(revision 32922)
@@ -1,3 +1,7 @@
+Thu Jun 30 20:12:36 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* test/ruby/test_module.rb: tests for [Bug #3422] and [Bug #3423].
+
 Thu Jun 30 12:25:34 2011  Koichi Sasada  <ko1@a...>
 
 	* thread_pthread.c (rb_thread_create_timer_thread): allocate
Index: ruby_1_9_2/version.h
===================================================================
--- ruby_1_9_2/version.h	(revision 32921)
+++ ruby_1_9_2/version.h	(revision 32922)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.2"
-#define RUBY_PATCHLEVEL 307
+#define RUBY_PATCHLEVEL 308
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 9
 #define RUBY_VERSION_TEENY 1
Index: ruby_1_9_2/test/ruby/test_module.rb
===================================================================
--- ruby_1_9_2/test/ruby/test_module.rb	(revision 32921)
+++ ruby_1_9_2/test/ruby/test_module.rb	(revision 32922)
@@ -451,7 +451,7 @@
     assert_equal(false, o.respond_to?(:bar=))
   end
 
-  def test_const_get2
+  def test_const_get_evaled
     c1 = Class.new
     c2 = Class.new(c1)
 
@@ -481,16 +481,47 @@
     assert_raise(NameError) { c1.const_get(:foo) }
   end
 
-  def test_const_set2
+  def test_const_set_invalid_name
     c1 = Class.new
     assert_raise(NameError) { c1.const_set(:foo, :foo) }
   end
 
-  def test_const_get3
+  def test_const_get_invalid_name
     c1 = Class.new
     assert_raise(NameError) { c1.const_defined?(:foo) }
   end
 
+  def test_const_get_no_inherited
+    bug3422 = '[ruby-core:30719]'
+    assert_in_out_err([], <<-INPUT, %w[1 NameError A], [], bug3422)
+    BasicObject::A = 1
+    puts [true, false].map {|inh|
+      begin
+        Object.const_get(:A, inh)
+      rescue NameError => e
+        [e.class, e.name]
+      end
+    }
+    INPUT
+  end
+
+  def test_const_get_inherited
+    bug3423 = '[ruby-core:30720]'
+    assert_in_out_err([], <<-INPUT, %w[NameError A NameError A], [], bug3423)
+    module Foo; A = 1; end
+    class Object; include Foo; end
+    class Bar; include Foo; end
+
+    puts [Object, Bar].map {|klass|
+      begin
+        klass.const_get(:A, false)
+      rescue NameError => e
+        [e.class, e.name]
+      end
+    }
+    INPUT
+  end
+
   def test_class_variable_get
     c = Class.new
     c.class_eval('@@foo = :foo')

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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