diff options
author | Dylan Thacker-Smith <Dylan.Smith@shopify.com> | 2014-07-06 01:49:19 -0400 |
---|---|---|
committer | Dylan Thacker-Smith <Dylan.Smith@shopify.com> | 2014-07-06 02:43:34 -0400 |
commit | 42be84ba40d95561554a4ccd62f482b028454025 (patch) | |
tree | 8357e189744a38339c730a8dce039bdf6e6c6156 /activerecord/test/cases/relation | |
parent | 93e24dea60368db17f92eac79122b36c30655297 (diff) | |
download | rails-42be84ba40d95561554a4ccd62f482b028454025.tar.gz rails-42be84ba40d95561554a4ccd62f482b028454025.tar.bz2 rails-42be84ba40d95561554a4ccd62f482b028454025.zip |
active_record: Type cast booleans and durations for string columns.
Diffstat (limited to 'activerecord/test/cases/relation')
-rw-r--r-- | activerecord/test/cases/relation/where_test.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/activerecord/test/cases/relation/where_test.rb b/activerecord/test/cases/relation/where_test.rb index 937f226b1d..a6a36a6fd9 100644 --- a/activerecord/test/cases/relation/where_test.rb +++ b/activerecord/test/cases/relation/where_test.rb @@ -6,10 +6,11 @@ require 'models/post' require 'models/comment' require 'models/edge' require 'models/topic' +require 'models/binary' module ActiveRecord class WhereTest < ActiveRecord::TestCase - fixtures :posts, :edges, :authors + fixtures :posts, :edges, :authors, :binaries def test_where_copies_bind_params author = authors(:david) @@ -179,5 +180,35 @@ module ActiveRecord assert_equal 4, Edge.where(blank).order("sink_id").to_a.size end end + + def test_where_with_integer_for_string_column + count = Post.where(:title => 0).count + assert_equal 0, count + end + + def test_where_with_float_for_string_column + count = Post.where(:title => 0.0).count + assert_equal 0, count + end + + def test_where_with_boolean_for_string_column + count = Post.where(:title => false).count + assert_equal 0, count + end + + def test_where_with_decimal_for_string_column + count = Post.where(:title => BigDecimal.new(0)).count + assert_equal 0, count + end + + def test_where_with_duration_for_string_column + count = Post.where(:title => 0.seconds).count + assert_equal 0, count + end + + def test_where_with_integer_for_binary_column + count = Binary.where(:data => 0).count + assert_equal 0, count + end end end |