diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb index b638143..2915bd4 100644 --- a/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_many_associations_test.rb @@ -199,6 +199,11 @@ class HasManyAssociationsTest < ActiveRecord::TestCase assert client_ary.include?(client) end + def test_preloading_when_using_finder_sql + firm = Firm.find(:first,:include => :empty_clients_using_finder_sql) + assert_equal(0,firm.empty_clients_using_finder_sql.size) + end + def test_find_all firm = Firm.find(:first) assert_equal 2, firm.clients.find(:all, :conditions => "#{QUOTED_TYPE} = 'Client'").length diff --git a/activerecord/test/models/company.rb b/activerecord/test/models/company.rb index 9fa810a..e1b38a4 100755 --- a/activerecord/test/models/company.rb +++ b/activerecord/test/models/company.rb @@ -44,6 +44,7 @@ class Firm < Company :finder_sql => 'SELECT * FROM companies WHERE client_of = 1000', :counter_sql => 'SELECT COUNT(*) FROM companies WHERE client_of = 1000' has_many :clients_using_finder_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE 1=1' + has_many :empty_clients_using_finder_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE 1=0' has_many :plain_clients, :class_name => 'Client' has_many :readonly_clients, :class_name => 'Client', :readonly => true