summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/00class.rb2
-rw-r--r--test/t/module.rb18
2 files changed, 19 insertions, 1 deletions
diff --git a/mrblib/00class.rb b/mrblib/00class.rb
index f3762e8d0..1a2d833c8 100644
--- a/mrblib/00class.rb
+++ b/mrblib/00class.rb
@@ -15,6 +15,7 @@ class Module
m.append_features(self)
m.included(self)
end
+ self
end
def prepend(*args)
@@ -22,5 +23,6 @@ class Module
m.prepend_features(self)
m.prepended(self)
end
+ self
end
end
diff --git a/test/t/module.rb b/test/t/module.rb
index 419b0bfd5..7b539e683 100644
--- a/test/t/module.rb
+++ b/test/t/module.rb
@@ -309,10 +309,14 @@ assert('Module#include', '15.2.2.4.27') do
Const4Include = 42
end
module Test4Include2
- include Test4Include
+ @include_result = include Test4Include
+ class << self
+ attr_reader :include_result
+ end
end
assert_equal 42, Test4Include2.const_get(:Const4Include)
+ assert_equal Test4Include2, Test4Include2.include_result
end
assert('Module#include?', '15.2.2.4.28') do
@@ -540,6 +544,18 @@ end
assert_equal(expected, obj.m1)
end
+ assert('Module#prepend result') do
+ module TestPrepended; end
+ module TestPrependResult
+ @prepend_result = prepend TestPrepended
+ class << self
+ attr_reader :prepend_result
+ end
+ end
+
+ assert_equal TestPrependResult, TestPrependResult.prepend_result
+ end
+
# mruby shouldn't be affected by this since there is
# no visibility control (yet)
assert('Module#prepend public') do