diff options
author | Sammy Larbi <sam@codeodor.com> | 2014-10-08 15:58:11 -0500 |
---|---|---|
committer | Sammy Larbi <sam@codeodor.com> | 2014-11-09 11:56:07 -0600 |
commit | f43f56e16e99dae083cf1400a48c236d1af265d4 (patch) | |
tree | f9d346387343f2c4b5241d2d7296993cbb47ed43 /activerecord/test/cases | |
parent | 47704af54d51b240f733c596ebb39a033aa698cd (diff) | |
download | rails-f43f56e16e99dae083cf1400a48c236d1af265d4.tar.gz rails-f43f56e16e99dae083cf1400a48c236d1af265d4.tar.bz2 rails-f43f56e16e99dae083cf1400a48c236d1af265d4.zip |
Ensure HABTM relationships produce valid class names (Fixes #17119)
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb b/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb index 859310575e..9a57683ee3 100644 --- a/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb @@ -1,5 +1,6 @@ require "cases/helper" require 'models/developer' +require 'models/computer' require 'models/project' require 'models/company' require 'models/customer' @@ -80,7 +81,7 @@ end class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase fixtures :accounts, :companies, :categories, :posts, :categories_posts, :developers, :projects, :developers_projects, - :parrots, :pirates, :parrots_pirates, :treasures, :price_estimates, :tags, :taggings + :parrots, :pirates, :parrots_pirates, :treasures, :price_estimates, :tags, :taggings, :computers def setup_data_for_habtm_case ActiveRecord::Base.connection.execute('delete from countries_treaties') @@ -883,4 +884,12 @@ class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase child.special_projects << SpecialProject.new("name" => "Special Project") assert child.save, 'child object should be saved' end + + def test_habtm_with_reflection_using_class_name_and_fixtures + assert_not_nil Developer._reflections['shared_computers'] + # Checking the fixture for named association is important here, because it's the only way + # we've been able to reproduce this bug + assert_not_nil File.read(File.expand_path("../../../fixtures/developers.yml", __FILE__)).index("shared_computers") + assert_equal developers(:david).shared_computers.first, computers(:laptop) + end end |