summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-method/test/method.rb
diff options
context:
space:
mode:
authordearblue <[email protected]>2019-01-03 17:15:04 +0900
committerdearblue <[email protected]>2019-01-03 18:16:26 +0900
commitfc20d0186dfa3a6bd72b4cf1e09a1497c50b536b (patch)
tree50fdc002ec0ff6efbff5421a5585b203e6463ebb /mrbgems/mruby-method/test/method.rb
parent9a9e12a1299181bc38abbb4e8dbb62569bcbc551 (diff)
downloadmruby-fc20d0186dfa3a6bd72b4cf1e09a1497c50b536b.tar.gz
mruby-fc20d0186dfa3a6bd72b4cf1e09a1497c50b536b.zip
Add test for #<< and #>> for Proc and Method class
Diffstat (limited to 'mrbgems/mruby-method/test/method.rb')
-rw-r--r--mrbgems/mruby-method/test/method.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/mrbgems/mruby-method/test/method.rb b/mrbgems/mruby-method/test/method.rb
index 9fd6a558e..dfddde9cc 100644
--- a/mrbgems/mruby-method/test/method.rb
+++ b/mrbgems/mruby-method/test/method.rb
@@ -371,6 +371,25 @@ assert "Method#initialize_copy" do
assert_equal(m1, m2)
end
+assert "Method#<< and Method#>>" do
+ obj = Object.new
+ class << obj
+ def mul2(n); n * 2; end
+ def add3(n); n + 3; end
+ end
+
+ f = obj.method(:mul2)
+ g = obj.method(:add3)
+
+ m1 = f << g
+ assert_kind_of Proc, m1
+ assert_equal 16, m1.call(5)
+
+ m2 = f >> g
+ assert_kind_of Proc, m2
+ assert_equal 13, m2.call(5)
+end
+
assert 'UnboundMethod#arity' do
c = Class.new {
def foo(a, b)