aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-11-10 02:00:14 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-11-10 02:00:14 +0000
commit63df6eb3821ba9723a3478f6331bd14b81be8140 (patch)
treee3245c8d2ded2289570cf3e8105f8cd6b5a6ee6f /activerecord/test
parentd97a84fb593746caa5806704fe3018aa3f3fc422 (diff)
downloadrails-63df6eb3821ba9723a3478f6331bd14b81be8140.tar.gz
rails-63df6eb3821ba9723a3478f6331bd14b81be8140.tar.bz2
rails-63df6eb3821ba9723a3478f6331bd14b81be8140.zip
Don't inspect unloaded associations. Closes #2905.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5478 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test')
-rwxr-xr-xactiverecord/test/associations_test.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/activerecord/test/associations_test.rb b/activerecord/test/associations_test.rb
index f1b02cfda5..f962537966 100755
--- a/activerecord/test/associations_test.rb
+++ b/activerecord/test/associations_test.rb
@@ -87,6 +87,35 @@ class AssociationProxyTest < Test::Unit::TestCase
david.posts_with_extension.first # force load target
assert_equal david.posts_with_extension, david.posts_with_extension.testing_proxy_target
end
+
+ def test_inspect_does_not_load_target
+ david = authors(:david)
+ not_loaded_string = '<posts not loaded yet>'
+ not_loaded_re = Regexp.new(not_loaded_string)
+
+ 2.times do
+ assert !david.posts.loaded?, "Posts should not be loaded yet"
+ assert_match not_loaded_re, david.inspect
+ assert_equal not_loaded_string, david.posts.inspect
+
+ assert !david.posts.empty?, "There should be more than one post"
+ assert !david.posts.loaded?, "Posts should still not be loaded yet"
+ assert_match not_loaded_re, david.inspect
+ assert_equal not_loaded_string, david.posts.inspect
+
+ assert !david.posts.find(:all).empty?, "There should be more than one post"
+ assert !david.posts.loaded?, "Posts should still not be loaded yet"
+ assert_match not_loaded_re, david.inspect
+ assert_equal not_loaded_string, david.posts.inspect
+
+ assert !david.posts(true).empty?, "There should be more than one post"
+ assert david.posts.loaded?, "Posts should be loaded now"
+ assert_no_match not_loaded_re, david.inspect
+ assert_not_equal not_loaded_string, david.posts.inspect
+
+ david.reload
+ end
+ end
end
class HasOneAssociationsTest < Test::Unit::TestCase