diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2014-10-31 12:16:48 -0600 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2014-10-31 12:16:48 -0600 |
commit | ecb31131fb7c917baa9d53fde3021fb037861808 (patch) | |
tree | 4ab007de2bc283e34b63d0099f84ce374370fbf2 /activerecord/test/cases/finder_test.rb | |
parent | 0249c360a301fb927472e6e59264d435ff3b9c24 (diff) | |
parent | e62fff40edde10bd04bbb91ce242f4a7f7ea64a8 (diff) | |
download | rails-ecb31131fb7c917baa9d53fde3021fb037861808.tar.gz rails-ecb31131fb7c917baa9d53fde3021fb037861808.tar.bz2 rails-ecb31131fb7c917baa9d53fde3021fb037861808.zip |
Merge pull request #17459 from sgrif/sg-find-by-large-numbers
Treat strings greater than int max value as out of range
Diffstat (limited to 'activerecord/test/cases/finder_test.rb')
-rw-r--r-- | activerecord/test/cases/finder_test.rb | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb index ac570ecbe0..d1ff8516e8 100644 --- a/activerecord/test/cases/finder_test.rb +++ b/activerecord/test/cases/finder_test.rb @@ -99,21 +99,10 @@ class FinderTest < ActiveRecord::TestCase end def test_exists_fails_when_parameter_has_invalid_type - if current_adapter?(:PostgreSQLAdapter, :MysqlAdapter) - assert_raises ActiveRecord::StatementInvalid do - Topic.exists?(("9"*53).to_i) # number that's bigger than int - end - else + assert_raises(RangeError) do assert_equal false, Topic.exists?(("9"*53).to_i) # number that's bigger than int end - - if current_adapter?(:PostgreSQLAdapter) - assert_raises ActiveRecord::StatementInvalid do - Topic.exists?("foo") - end - else - assert_equal false, Topic.exists?("foo") - end + assert_equal false, Topic.exists?("foo") end def test_exists_does_not_select_columns_without_alias @@ -209,6 +198,18 @@ class FinderTest < ActiveRecord::TestCase assert_equal 2, last_devs.size end + def test_find_with_large_number + assert_raises(ActiveRecord::RecordNotFound) { Topic.find('9999999999999999999999999999999') } + end + + def test_find_by_with_large_number + assert_nil Topic.find_by(id: '9999999999999999999999999999999') + end + + def test_find_by_id_with_large_number + assert_nil Topic.find_by_id('9999999999999999999999999999999') + end + def test_find_an_empty_array assert_equal [], Topic.find([]) end |