summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-07-11 14:51:17 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-07-11 14:51:17 +0900
commit9ba5c800c26b243586c9d7938af122c671d99131 (patch)
tree5fe28a30aaad96a877d0e52154eb0e124dd962b8
parentb68ef2e634339697f1d954114fe672954def974f (diff)
parent6a21667602c39b9456f05f175e14ee865f6c1f72 (diff)
downloadmruby-9ba5c800c26b243586c9d7938af122c671d99131.tar.gz
mruby-9ba5c800c26b243586c9d7938af122c671d99131.zip
Merge branch 'toplevel_ext' of https://github.com/kyab/mruby into kyab-toplevel_ext
-rw-r--r--mrbgems/mruby-toplevel-ext/mrbgem.rake4
-rw-r--r--mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb4
-rw-r--r--mrbgems/mruby-toplevel-ext/test/toplevel.rb24
3 files changed, 32 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..4e79dc380
--- /dev/null
+++ b/mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb
@@ -0,0 +1,4 @@
+
+def self.include (*modules)
+ self.class.include *modules
+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
+