From f0182d5cb9755e2a8ef933ea6b93d5e42f6d367d Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 30 Apr 2012 15:51:09 -0700 Subject: only yield to finder block if something is found --- activerecord/test/cases/base_test.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'activerecord/test/cases/base_test.rb') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 8a4ce5e963..02d5320d9d 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -175,6 +175,16 @@ class BasicsTest < ActiveRecord::TestCase assert Topic.table_exists? end + def test_finder_block + t = Topic.first + found = nil + Topic.find_by_id(t.id) { |f| found = f } + assert_equal t, found + + bad_id = Topic.maximum(:id) + 1 + Topic.find_by_id(bad_id) { |f| raise } + end + def test_preserving_date_objects if current_adapter?(:SybaseAdapter) # Sybase ctlib does not (yet?) support the date type; use datetime instead. -- cgit v1.2.3