aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2013-04-20 09:26:07 +0200
committerXavier Noria <fxn@hashref.com>2013-04-20 09:26:11 +0200
commit0400a7ff574f83f2f5d5c3f7d7569bfb37963dda (patch)
tree9dfcd4ee3f38f502ecbf943f8d7c8301898e90d1 /activerecord/test/cases
parentd32ef7c7a5a1e29f64eb3c2240c642c7b0c73f25 (diff)
downloadrails-0400a7ff574f83f2f5d5c3f7d7569bfb37963dda.tar.gz
rails-0400a7ff574f83f2f5d5c3f7d7569bfb37963dda.tar.bz2
rails-0400a7ff574f83f2f5d5c3f7d7569bfb37963dda.zip
if singletons belong to the contract, test them
Object#respond_to? returns singletons and thus we inherit that contract. The implementation of the predicate is good, but the test is only checking boolean semantics, which in this case is not enough.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/relation_test.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb
index 06723b9d7f..482c1b3d48 100644
--- a/activerecord/test/cases/relation_test.rb
+++ b/activerecord/test/cases/relation_test.rb
@@ -186,8 +186,11 @@ module ActiveRecord
end
def test_respond_to_for_non_selected_element
+ post = Post.select(:title).first
+ assert_equal false, post.respond_to?(:body), "post should not respond_to?(:body) since invoking it raises exception"
+
post = Post.select("'title' as post_title").first
- assert !post.respond_to?(:body), "post should not respond_to?(:body) since invoking it raises exception"
+ assert_equal false, post.respond_to?(:title), "post should not respond_to?(:body) since invoking it raises exception"
end
end