Froze rails gems
[depot.git] / vendor / rails / activerecord / test / cases / associations / eager_load_includes_full_sti_class_test.rb
diff --git a/vendor/rails/activerecord/test/cases/associations/eager_load_includes_full_sti_class_test.rb b/vendor/rails/activerecord/test/cases/associations/eager_load_includes_full_sti_class_test.rb
new file mode 100644 (file)
index 0000000..7c47061
--- /dev/null
@@ -0,0 +1,36 @@
+require 'cases/helper'
+require 'models/post'
+require 'models/tagging'
+
+module Namespaced
+  class Post < ActiveRecord::Base
+    set_table_name 'posts'
+    has_one :tagging, :as => :taggable, :class_name => 'Tagging'
+  end
+end
+
+class EagerLoadIncludeFullStiClassNamesTest < ActiveRecord::TestCase
+
+  def setup
+    generate_test_objects
+  end
+
+  def generate_test_objects
+    post = Namespaced::Post.create( :title => 'Great stuff', :body => 'This is not', :author_id => 1 )
+    tagging = Tagging.create( :taggable => post )
+  end
+
+  def test_class_names
+    old = ActiveRecord::Base.store_full_sti_class
+
+    ActiveRecord::Base.store_full_sti_class = false
+    post = Namespaced::Post.find_by_title( 'Great stuff', :include => :tagging )
+    assert_nil post.tagging
+
+    ActiveRecord::Base.store_full_sti_class = true
+    post = Namespaced::Post.find_by_title( 'Great stuff', :include => :tagging )
+    assert_equal 'Tagging', post.tagging.class.name
+  ensure
+    ActiveRecord::Base.store_full_sti_class = old
+  end
+end