aboutsummaryrefslogblamecommitdiffstats
path: root/activerecord/test/cases/class_inheritable_attributes_test.rb
blob: 4f04f41e76e4d8d2db450970fdd7e7a7cc9021f4 (plain) (tree)
1
2
3
                   
                       
                                                              

















                                                 
                                                              



                                                                      
 



                                                                             
   
require 'test/unit'
require 'abstract_unit'
require 'active_support/core_ext/class/inheritable_attributes'

class A
  include ClassInheritableAttributes
end

class B < A
  write_inheritable_array "first", [ :one, :two ]
end

class C < A
  write_inheritable_array "first", [ :three ]
end

class D < B
  write_inheritable_array "first", [ :four ]
end


class ClassInheritableAttributesTest < ActiveSupport::TestCase
  def test_first_level
    assert_equal [ :one, :two ], B.read_inheritable_attribute("first")
    assert_equal [ :three ], C.read_inheritable_attribute("first")
  end

  def test_second_level
    assert_equal [ :one, :two, :four ], D.read_inheritable_attribute("first")
    assert_equal [ :one, :two ], B.read_inheritable_attribute("first")
  end
end