From 8d7e95282c64f482a28e7bc579857e781d03c74b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 20 Dec 2017 20:18:25 +0900 Subject: Add `#module_exec` and `#class_exec` in `mruby-class-ext` gem. --- mrbgems/mruby-class-ext/test/module.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'mrbgems/mruby-class-ext/test/module.rb') diff --git a/mrbgems/mruby-class-ext/test/module.rb b/mrbgems/mruby-class-ext/test/module.rb index 65abde108..ed6713aac 100644 --- a/mrbgems/mruby-class-ext/test/module.rb +++ b/mrbgems/mruby-class-ext/test/module.rb @@ -32,3 +32,24 @@ assert 'Module#singleton_class?' do assert_false cls.singleton_class? assert_true scl.singleton_class? end + +assert 'Module#module_eval' do + mod = Module.new + mod.class_exec(1,2,3) do |a,b,c| + assert_equal([1,2,3], [a,b,c]) + def hi + "hi" + end + end + cls = Class.new + cls.class_exec(42) do |x| + assert_equal(42, x) + include mod + def hello + "hello" + end + end + obj = cls.new + assert_equal("hi", obj.hi) + assert_equal("hello", obj.hello) +end -- cgit v1.2.3