summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-metaprog/test/metaprog.rb11
-rw-r--r--test/t/class.rb14
2 files changed, 25 insertions, 0 deletions
diff --git a/mrbgems/mruby-metaprog/test/metaprog.rb b/mrbgems/mruby-metaprog/test/metaprog.rb
index d63913020..4d2651702 100644
--- a/mrbgems/mruby-metaprog/test/metaprog.rb
+++ b/mrbgems/mruby-metaprog/test/metaprog.rb
@@ -104,6 +104,17 @@ assert('Kernel#global_variables', '15.3.1.3.14') do
assert_equal(1, variables2.size - variables1.size)
end
+assert('Kernel#local_variables', '15.3.1.3.28') do
+ assert_equal Array, local_variables.class
+
+ def local_var_list
+ a = "hello"
+ local_variables
+ end
+
+ assert_equal [:a], local_var_list
+end
+
assert('Kernel.local_variables', '15.3.1.2.7') do
a, b = 0, 1
a += b
diff --git a/test/t/class.rb b/test/t/class.rb
index e2839111c..1b4b84890 100644
--- a/test/t/class.rb
+++ b/test/t/class.rb
@@ -375,6 +375,20 @@ assert('clone Class') do
assert_true(Foo.clone.new.func)
end
+assert('class definition in singleton class') do
+ class AClassS
+ class << self
+ class BClass
+ end
+
+ def iclass
+ BClass
+ end
+ end
+ end
+ assert_equal(Class, AClassS.iclass.class)
+end
+
assert('class variable and class << self style class method') do
class ClassVariableTest
@@class_variable = "value"