aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/module_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/core_ext/module_test.rb')
-rw-r--r--activesupport/test/core_ext/module_test.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/module_test.rb b/activesupport/test/core_ext/module_test.rb
new file mode 100644
index 0000000000..3d11f1001f
--- /dev/null
+++ b/activesupport/test/core_ext/module_test.rb
@@ -0,0 +1,51 @@
+require 'test/unit'
+require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/class'
+require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/module'
+
+module One
+end
+
+class Ab
+ include One
+end
+
+module Xy
+ class Bc
+ include One
+ end
+end
+
+module Yz
+ module Zy
+ class Cd
+ include One
+ end
+ end
+end
+
+class De
+end
+
+class ModuleTest < Test::Unit::TestCase
+ def test_included_in_classes
+ assert One.included_in_classes.include?(Ab)
+ assert One.included_in_classes.include?(Xy::Bc)
+ assert One.included_in_classes.include?(Yz::Zy::Cd)
+ assert !One.included_in_classes.include?(De)
+ end
+
+ def test_remove_classes_including
+ assert Ab.is_a?(Class)
+ assert Xy::Bc.is_a?(Class)
+ assert Yz::Zy::Cd.is_a?(Class)
+ assert De.is_a?(Class)
+
+ One.remove_classes_including
+
+ assert_raises(NameError) { Ae.is_a?(Class) }
+ assert_raises(NameError) { Xy::Bc.is_a?(Class) }
+ assert_raises(NameError) { Yz::Zy::Cd.is_a?(Class) }
+
+ assert De.is_a?(Class)
+ end
+end \ No newline at end of file