From 8c1687bbf8dd518d64fc7180b33c1cb57f29a69a Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Mon, 4 Mar 2013 18:56:05 +0100 Subject: `has_secure_password` is not invalid when assigning empty Strings. Closes #9535. With 692b3b6 the `password=` setter does no longer set blank passwords. This triggered validation errors when assigning empty Strings to `password` and `password_confirmation`. This patch only sets the confirmation if it is not `blank?`. --- activemodel/test/cases/secure_password_test.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'activemodel/test') diff --git a/activemodel/test/cases/secure_password_test.rb b/activemodel/test/cases/secure_password_test.rb index 7783bb25d5..02cd3b8a93 100644 --- a/activemodel/test/cases/secure_password_test.rb +++ b/activemodel/test/cases/secure_password_test.rb @@ -88,4 +88,10 @@ class SecurePasswordTest < ActiveModel::TestCase @user.password = "secret" assert_equal BCrypt::Engine::MIN_COST, @user.password_digest.cost end + + test "blank password_confirmation does not result in a confirmation error" do + @user.password = "" + @user.password_confirmation = "" + assert @user.valid?(:update), "user should be valid" + end end -- cgit v1.2.3