summaryrefslogtreecommitdiffhomepage
path: root/test/t
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2013-02-16 18:15:25 +0000
committerDaniel Bovensiepen <[email protected]>2013-02-16 18:15:25 +0000
commit0aa35895f9f385680cfcccd2077103cc6686ab8a (patch)
tree992f33f1692a67fbecfa3165940f5fc2cfce612a /test/t
parent92cf2a0ced00cf4071d624eb2d842867a6d054c2 (diff)
downloadmruby-0aa35895f9f385680cfcccd2077103cc6686ab8a.tar.gz
mruby-0aa35895f9f385680cfcccd2077103cc6686ab8a.zip
Add Module#remove_const test
Diffstat (limited to 'test/t')
-rw-r--r--test/t/module.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/t/module.rb b/test/t/module.rb
index 286c2c085..6c1c1acda 100644
--- a/test/t/module.rb
+++ b/test/t/module.rb
@@ -241,6 +241,28 @@ assert('Module#remove_class_variable', '15.2.2.4.39') do
not Test4RemoveClassVariable.class_variables.include? :@@cv
end
+assert('Module#remove_const', '15.2.2.4.40') do
+ module Test4RemoveConst
+ ExistingConst = 23
+ end
+
+ result = Test4RemoveConst.module_eval { remove_const :ExistingConst }
+
+ name_error = false
+ begin
+ Test4RemoveConst.module_eval { remove_const :NonExistingConst }
+ rescue NameError
+ name_error = true
+ end
+
+ # Constant removed from Module
+ not Test4RemoveConst.const_defined? :ExistingConst and
+ # Return value of binding
+ result == 23 and
+ # Name Error raised when Constant doesn't exist
+ name_error
+end
+
assert('Module#remove_method', '15.2.2.4.41') do
module Test4RemoveMethod
class Parent