d4f97345db
Among other things, a security fix.
37 lines
1,018 B
Ruby
37 lines
1,018 B
Ruby
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
|