summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-toplevel-ext/mrbgem.rake4
-rw-r--r--mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb11
-rw-r--r--mrbgems/mruby-toplevel-ext/test/toplevel.rb24
3 files changed, 39 insertions, 0 deletions
diff --git a/mrbgems/mruby-toplevel-ext/mrbgem.rake b/mrbgems/mruby-toplevel-ext/mrbgem.rake
new file mode 100644
index 000000000..457047e8d
--- /dev/null
+++ b/mrbgems/mruby-toplevel-ext/mrbgem.rake
@@ -0,0 +1,4 @@
+MRuby::Gem::Specification.new('mruby-toplevel-ext') do |spec|
+ spec.license = 'MIT'
+ spec.authors = 'mruby developers'
+end
diff --git a/mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb b/mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb
new file mode 100644
index 000000000..24a042e84
--- /dev/null
+++ b/mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb
@@ -0,0 +1,11 @@
+
+def self.include (*modules)
+ self.class.include *modules
+end
+
+def self.private(*methods)
+end
+def self.protected(*methods)
+end
+def self.public(*methods)
+end
diff --git a/mrbgems/mruby-toplevel-ext/test/toplevel.rb b/mrbgems/mruby-toplevel-ext/test/toplevel.rb
new file mode 100644
index 000000000..4401beba1
--- /dev/null
+++ b/mrbgems/mruby-toplevel-ext/test/toplevel.rb
@@ -0,0 +1,24 @@
+##
+# Toplevel Self(Ext) Test
+
+module ToplevelTestModule1
+ def method_foo
+ :foo
+ end
+
+ CONST_BAR = :bar
+end
+
+module ToplevelTestModule2
+ CONST_BAR = :bar2
+end
+
+assert('Toplevel#include') do
+ self.include ToplevelTestModule2, ToplevelTestModule1
+
+ assert_true self.class.included_modules.include?( ToplevelTestModule1 )
+ assert_true self.class.included_modules.include?( ToplevelTestModule2 )
+ assert_equal :foo, method_foo
+ assert_equal :bar2, CONST_BAR
+end
+