aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relation
diff options
context:
space:
mode:
authorDan Olson <daniel.olson@code42.com>2014-10-27 09:35:34 -0500
committerDan Olson <daniel.olson@code42.com>2014-10-27 09:42:07 -0500
commit68bad9960a07508e24726d598d86fc26a2931264 (patch)
treec00d6fcbef69b904fe8753039108e1904694df94 /activerecord/test/cases/relation
parentd616fec8117ac25753ee23e15ac14261d298ee51 (diff)
downloadrails-68bad9960a07508e24726d598d86fc26a2931264.tar.gz
rails-68bad9960a07508e24726d598d86fc26a2931264.tar.bz2
rails-68bad9960a07508e24726d598d86fc26a2931264.zip
Allow Relation#rewhere to work with infinite range values
Diffstat (limited to 'activerecord/test/cases/relation')
-rw-r--r--activerecord/test/cases/relation/where_chain_test.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/activerecord/test/cases/relation/where_chain_test.rb b/activerecord/test/cases/relation/where_chain_test.rb
index 478ac1bc42..619055f1e7 100644
--- a/activerecord/test/cases/relation/where_chain_test.rb
+++ b/activerecord/test/cases/relation/where_chain_test.rb
@@ -156,5 +156,26 @@ module ActiveRecord
assert_equal 1, relation.where_values.size
assert_equal Post.where(comments_count: 3..5), relation
end
+
+ def test_rewhere_with_infinite_upper_bound_range
+ relation = Post.where(comments_count: 1..Float::INFINITY).rewhere(comments_count: 3..5)
+
+ assert_equal 1, relation.where_values.size
+ assert_equal Post.where(comments_count: 3..5), relation
+ end
+
+ def test_rewhere_with_infinite_lower_bound_range
+ relation = Post.where(comments_count: -Float::INFINITY..1).rewhere(comments_count: 3..5)
+
+ assert_equal 1, relation.where_values.size
+ assert_equal Post.where(comments_count: 3..5), relation
+ end
+
+ def test_rewhere_with_infinite_range
+ relation = Post.where(comments_count: -Float::INFINITY..Float::INFINITY).rewhere(comments_count: 3..5)
+
+ assert_equal 1, relation.where_values.size
+ assert_equal Post.where(comments_count: 3..5), relation
+ end
end
end