mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (Init_eval): Make Module#include and Module#prepend public
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1908874bf4
commit
26766ee89c
3 changed files with 21 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
Tue Sep 3 21:41:37 2013 Akira Matsuda <ronnie@dio.jp>
|
||||
|
||||
* eval.c (Init_eval): Make Module#include and Module#prepend public
|
||||
|
||||
* test/ruby/test_module.rb (class TestModule): Test for above
|
||||
|
||||
Tue Sep 3 21:35:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* thread_pthread.c (sys/dyntune.h): for gettune().
|
||||
|
|
5
eval.c
5
eval.c
|
@ -1592,11 +1592,12 @@ Init_eval(void)
|
|||
rb_define_global_function("__callee__", rb_f_callee_name, 0);
|
||||
rb_define_global_function("__dir__", f_current_dirname, 0);
|
||||
|
||||
rb_define_method(rb_cModule, "include", rb_mod_include, -1);
|
||||
rb_define_method(rb_cModule, "prepend", rb_mod_prepend, -1);
|
||||
|
||||
rb_define_private_method(rb_cModule, "append_features", rb_mod_append_features, 1);
|
||||
rb_define_private_method(rb_cModule, "extend_object", rb_mod_extend_object, 1);
|
||||
rb_define_private_method(rb_cModule, "include", rb_mod_include, -1);
|
||||
rb_define_private_method(rb_cModule, "prepend_features", rb_mod_prepend_features, 1);
|
||||
rb_define_private_method(rb_cModule, "prepend", rb_mod_prepend, -1);
|
||||
rb_define_private_method(rb_cModule, "refine", rb_mod_refine, 1);
|
||||
rb_define_private_method(rb_cModule, "using", mod_using, 1);
|
||||
rb_undef_method(rb_cClass, "refine");
|
||||
|
|
|
@ -351,6 +351,12 @@ class TestModule < Test::Unit::TestCase
|
|||
refute_equal original, b.inspect, bug6454
|
||||
end
|
||||
|
||||
def test_public_include
|
||||
assert_nothing_raised('#8846') do
|
||||
Module.new.include(Module.new { def foo; end }).instance_methods == [:foo]
|
||||
end
|
||||
end
|
||||
|
||||
def test_included_modules
|
||||
assert_equal([], Mixin.included_modules)
|
||||
assert_equal([Mixin], User.included_modules)
|
||||
|
@ -1380,6 +1386,12 @@ class TestModule < Test::Unit::TestCase
|
|||
assert_equal(expected, obj.m1)
|
||||
end
|
||||
|
||||
def test_public_prepend
|
||||
assert_nothing_raised('#8846') do
|
||||
Class.new.prepend(Module.new)
|
||||
end
|
||||
end
|
||||
|
||||
def test_prepend_inheritance
|
||||
bug6654 = '[ruby-core:45914]'
|
||||
a = labeled_module("a")
|
||||
|
|
Loading…
Add table
Reference in a new issue