aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/test/core_ext/class_test.rb
blob: b7f3dd9930a8633730eb98626adecb1874a46d16 (plain) (tree)




























                                                                          
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