aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/callbacks_test.rb
diff options
context:
space:
mode:
authorRizwan Reza <rizwanreza@gmail.com>2010-03-28 12:04:00 +0430
committerRizwan Reza <rizwanreza@gmail.com>2010-03-28 12:04:00 +0430
commitb4c91de9462f59d6395c7c871aafa3301afdc383 (patch)
treefadcaf603a6f473e8ccd52070a1f3b4f957c34cb /activerecord/test/cases/callbacks_test.rb
parent4b4f69b9bfbd33556e23262f57cf6d944dfd9f63 (diff)
parent66d57d7ba83df52ff1e0485c89f6192c2f84c6b8 (diff)
downloadrails-b4c91de9462f59d6395c7c871aafa3301afdc383.tar.gz
rails-b4c91de9462f59d6395c7c871aafa3301afdc383.tar.bz2
rails-b4c91de9462f59d6395c7c871aafa3301afdc383.zip
Merge remote branch 'rails/master'
Diffstat (limited to 'activerecord/test/cases/callbacks_test.rb')
-rw-r--r--activerecord/test/cases/callbacks_test.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/activerecord/test/cases/callbacks_test.rb b/activerecord/test/cases/callbacks_test.rb
index ff2322ac15..dc7f82b001 100644
--- a/activerecord/test/cases/callbacks_test.rb
+++ b/activerecord/test/cases/callbacks_test.rb
@@ -43,6 +43,11 @@ class CallbackDeveloper < ActiveRecord::Base
end
end
+class CallbackDeveloperWithFalseValidation < CallbackDeveloper
+ before_validation proc { |model| model.history << [:before_validation, :returning_false]; return false }
+ before_validation proc { |model| model.history << [:before_validation, :should_never_get_here] }
+end
+
class ParentDeveloper < ActiveRecord::Base
set_table_name 'developers'
attr_accessor :after_save_called
@@ -139,7 +144,7 @@ class CallbackCancellationDeveloper < ActiveRecord::Base
attr_reader :after_save_called, :after_create_called, :after_update_called, :after_destroy_called
attr_accessor :cancel_before_save, :cancel_before_create, :cancel_before_update, :cancel_before_destroy
- before_save { !@cancel_before_save }
+ before_save {defined?(@cancel_before_save) ? !@cancel_before_save : false}
before_create { !@cancel_before_create }
before_update { !@cancel_before_update }
before_destroy { !@cancel_before_destroy }
@@ -437,10 +442,8 @@ class CallbacksTest < ActiveRecord::TestCase
end
private :assert_save_callbacks_not_called
- def test_zzz_callback_returning_false # must be run last since we modify CallbackDeveloper
- david = CallbackDeveloper.find(1)
- CallbackDeveloper.before_validation proc { |model| model.history << [:before_validation, :returning_false]; return false }
- CallbackDeveloper.before_validation proc { |model| model.history << [:before_validation, :should_never_get_here] }
+ def test_callback_returning_false
+ david = CallbackDeveloperWithFalseValidation.find(1)
david.save
assert_equal [
[ :after_find, :method ],