aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/class_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/core_ext/class_test.rb')
-rw-r--r--activesupport/test/core_ext/class_test.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/class_test.rb b/activesupport/test/core_ext/class_test.rb
new file mode 100644
index 0000000000..b7f3dd9930
--- /dev/null
+++ b/activesupport/test/core_ext/class_test.rb
@@ -0,0 +1,29 @@
+require 'abstract_unit'
+require 'active_support/core_ext/class'
+
+class A
+end
+
+module X
+ class B
+ end
+end
+
+module Y
+ module Z
+ class C
+ end
+ end
+end
+
+class ClassTest < Test::Unit::TestCase
+ def test_retrieving_subclasses
+ @parent = eval("class D; end; D")
+ @sub = eval("class E < D; end; E")
+ @subofsub = eval("class F < E; end; F")
+ assert_equal 2, @parent.subclasses.size
+ assert_equal [@subofsub.to_s], @sub.subclasses
+ assert_equal [], @subofsub.subclasses
+ assert_equal [@sub.to_s, @subofsub.to_s].sort, @parent.subclasses.sort
+ end
+end