diff options
Diffstat (limited to 'activerecord/test/deprecated_finder_test.rb')
-rwxr-xr-x | activerecord/test/deprecated_finder_test.rb | 135 |
1 files changed, 7 insertions, 128 deletions
diff --git a/activerecord/test/deprecated_finder_test.rb b/activerecord/test/deprecated_finder_test.rb index 796e46f8c2..097c9131dc 100755 --- a/activerecord/test/deprecated_finder_test.rb +++ b/activerecord/test/deprecated_finder_test.rb @@ -1,90 +1,19 @@ require 'abstract_unit' -require 'fixtures/company' -require 'fixtures/topic' -require 'fixtures/reply' require 'fixtures/entrant' -require 'fixtures/developer' class DeprecatedFinderTest < Test::Unit::TestCase - fixtures :companies, :topics, :entrants, :developers + fixtures :entrants - def test_find_all_with_limit - entrants = assert_deprecated { Entrant.find_all nil, "id ASC", 2 } - assert_equal 2, entrants.size - assert_equal entrants(:first), entrants.first + def test_deprecated_find_all_was_removed + assert_raise(NoMethodError) { Entrant.find_all } end - def test_find_all_with_prepared_limit_and_offset - entrants = assert_deprecated { Entrant.find_all nil, "id ASC", [2, 1] } - assert_equal 2, entrants.size - assert_equal entrants(:second), entrants.first + def test_deprecated_find_first_was_removed + assert_raise(NoMethodError) { Entrant.find_first } end - def test_find_first - first = assert_deprecated { Topic.find_first "title = 'The First Topic'" } - assert_equal topics(:first), first - end - - def test_find_first_failing - first = assert_deprecated { Topic.find_first "title = 'The First Topic!'" } - assert_nil first - end - - def test_deprecated_find_on_conditions - assert_deprecated 'find_on_conditions' do - assert Topic.find_on_conditions(1, ["approved = ?", false]) - assert_raises(ActiveRecord::RecordNotFound) { Topic.find_on_conditions(1, ["approved = ?", true]) } - end - end - - def test_condition_interpolation - assert_deprecated do - assert_kind_of Firm, Company.find_first(["name = '%s'", "37signals"]) - assert_nil Company.find_first(["name = '%s'", "37signals!"]) - assert_nil Company.find_first(["name = '%s'", "37signals!' OR 1=1"]) - assert_kind_of Time, Topic.find_first(["id = %d", 1]).written_on - end - end - - def test_bind_variables - assert_deprecated do - assert_kind_of Firm, Company.find_first(["name = ?", "37signals"]) - assert_nil Company.find_first(["name = ?", "37signals!"]) - assert_nil Company.find_first(["name = ?", "37signals!' OR 1=1"]) - assert_kind_of Time, Topic.find_first(["id = ?", 1]).written_on - assert_raises(ActiveRecord::PreparedStatementInvalid) { - Company.find_first(["id=? AND name = ?", 2]) - } - assert_raises(ActiveRecord::PreparedStatementInvalid) { - Company.find_first(["id=?", 2, 3, 4]) - } - end - end - - def test_bind_variables_with_quotes - Company.create("name" => "37signals' go'es agains") - assert_deprecated do - assert_not_nil Company.find_first(["name = ?", "37signals' go'es agains"]) - end - end - - def test_named_bind_variables_with_quotes - Company.create("name" => "37signals' go'es agains") - assert_deprecated do - assert_not_nil Company.find_first(["name = :name", {:name => "37signals' go'es agains"}]) - end - end - - def test_named_bind_variables - assert_equal '1', bind(':a', :a => 1) # ' ruby-mode - assert_equal '1 1', bind(':a :a', :a => 1) # ' ruby-mode - - assert_deprecated do - assert_kind_of Firm, Company.find_first(["name = :name", { :name => "37signals" }]) - assert_nil Company.find_first(["name = :name", { :name => "37signals!" }]) - assert_nil Company.find_first(["name = :name", { :name => "37signals!' OR 1=1" }]) - assert_kind_of Time, Topic.find_first(["id = :id", { :id => 1 }]).written_on - end + def test_deprecated_find_on_conditions_was_removed + assert_raise(NoMethodError) { Entrant.find_on_conditions } end def test_count @@ -98,54 +27,4 @@ class DeprecatedFinderTest < Test::Unit::TestCase assert_equal(1, Entrant.count_by_sql(["SELECT COUNT(*) FROM entrants WHERE id > ?", 2])) assert_equal(2, Entrant.count_by_sql(["SELECT COUNT(*) FROM entrants WHERE id > ?", 1])) end - - def test_find_all_with_limit - assert_deprecated do - first_five_developers = Developer.find_all nil, 'id ASC', 5 - assert_equal 5, first_five_developers.length - assert_equal 'David', first_five_developers.first.name - assert_equal 'fixture_5', first_five_developers.last.name - - no_developers = Developer.find_all nil, 'id ASC', 0 - assert_equal 0, no_developers.length - - assert_equal first_five_developers, Developer.find_all(nil, 'id ASC', [5]) - assert_equal no_developers, Developer.find_all(nil, 'id ASC', [0]) - end - end - - def test_find_all_with_limit_and_offset - assert_deprecated do - first_three_developers = Developer.find_all nil, 'id ASC', [3, 0] - second_three_developers = Developer.find_all nil, 'id ASC', [3, 3] - last_two_developers = Developer.find_all nil, 'id ASC', [2, 8] - - assert_equal 3, first_three_developers.length - assert_equal 3, second_three_developers.length - assert_equal 2, last_two_developers.length - - assert_equal 'David', first_three_developers.first.name - assert_equal 'fixture_4', second_three_developers.first.name - assert_equal 'fixture_9', last_two_developers.first.name - end - end - - def test_find_all_by_one_attribute_with_options - assert_not_deprecated do - topics = Topic.find_all_by_content("Have a nice day", "id DESC") - assert topics(:first), topics.last - - topics = Topic.find_all_by_content("Have a nice day", "id DESC") - assert topics(:first), topics.first - end - end - - protected - def bind(statement, *vars) - if vars.first.is_a?(Hash) - ActiveRecord::Base.send(:replace_named_bind_variables, statement, vars.first) - else - ActiveRecord::Base.send(:replace_bind_variables, statement, vars) - end - end end |