diff --git a/Gemfile b/Gemfile index b9153f53..01916d20 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,12 @@ source :rubygems -gem 'activesupport', '>= 3.0.0' -gem 'activerecord', '>= 3.0.0' +gem 'activesupport', '>= 3.0.7' +gem 'activerecord', '>= 3.0.7' group :test do gem 'bcrypt-ruby' gem 'jeweler' gem 'rake' - gem 'ruby-debug19' + gem 'debugger' gem 'sqlite3' end diff --git a/Gemfile.lock b/Gemfile.lock index fd91159e..b7d4bdc4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,11 +12,17 @@ GEM activesupport (3.2.5) i18n (~> 0.6) multi_json (~> 1.0) - archive-tar-minitar (0.5.2) arel (3.0.2) bcrypt-ruby (3.0.1) builder (3.0.0) columnize (0.3.6) + debugger (1.1.3) + columnize (>= 0.3.1) + debugger-linecache (~> 1.1.1) + debugger-ruby_core_source (~> 1.1.2) + debugger-linecache (1.1.1) + debugger-ruby_core_source (>= 1.1.1) + debugger-ruby_core_source (1.1.3) git (1.2.5) i18n (0.6.0) jeweler (1.8.3) @@ -25,22 +31,10 @@ GEM rake rdoc json (1.7.3) - linecache19 (0.5.12) - ruby_core_source (>= 0.1.4) multi_json (1.3.6) rake (0.9.2.2) rdoc (3.12) json (~> 1.4) - ruby-debug-base19 (0.11.25) - columnize (>= 0.3.1) - linecache19 (>= 0.5.11) - ruby_core_source (>= 0.1.4) - ruby-debug19 (0.11.6) - columnize (>= 0.3.1) - linecache19 (>= 0.5.11) - ruby-debug-base19 (>= 0.11.19) - ruby_core_source (0.1.5) - archive-tar-minitar (>= 0.5.2) sqlite3 (1.3.6) tzinfo (0.3.33) @@ -48,10 +42,10 @@ PLATFORMS ruby DEPENDENCIES - activerecord (>= 3.0.0) - activesupport (>= 3.0.0) + activerecord (>= 3.0.7) + activesupport (>= 3.0.7) bcrypt-ruby + debugger jeweler rake - ruby-debug19 sqlite3 diff --git a/lib/authlogic/acts_as_authentic/email.rb b/lib/authlogic/acts_as_authentic/email.rb index bbbc3966..f603681e 100644 --- a/lib/authlogic/acts_as_authentic/email.rb +++ b/lib/authlogic/acts_as_authentic/email.rb @@ -65,7 +65,7 @@ def merge_validates_length_of_email_field_options(options = {}) # * Default: {:with => Authlogic::Regex.email, :message => lambda {I18n.t('error_messages.email_invalid', :default => "should look like an email address.")}} # * Accepts: Hash of options accepted by validates_format_of def validates_format_of_email_field_options(value = nil) - rw_config(:validates_format_of_email_field_options, value, {:with => Authlogic::Regex.email, :message => lambda {I18n.t('error_messages.email_invalid', :default => "should look like an email address.")}}) + rw_config(:validates_format_of_email_field_options, value, {:with => Authlogic::Regex.email, :message => I18n.t('error_messages.email_invalid', :default => "should look like an email address.")}) end alias_method :validates_format_of_email_field_options=, :validates_format_of_email_field_options diff --git a/lib/authlogic/acts_as_authentic/login.rb b/lib/authlogic/acts_as_authentic/login.rb index 68702567..7ea87a13 100644 --- a/lib/authlogic/acts_as_authentic/login.rb +++ b/lib/authlogic/acts_as_authentic/login.rb @@ -62,7 +62,7 @@ def merge_validates_length_of_login_field_options(options = {}) # * Default: {:with => Authlogic::Regex.login, :message => lambda {I18n.t('error_messages.login_invalid', :default => "should use only letters, numbers, spaces, and .-_@ please.")}} # * Accepts: Hash of options accepted by validates_format_of def validates_format_of_login_field_options(value = nil) - rw_config(:validates_format_of_login_field_options, value, {:with => Authlogic::Regex.login, :message => lambda {I18n.t('error_messages.login_invalid', :default => "should use only letters, numbers, spaces, and .-_@ please.")}}) + rw_config(:validates_format_of_login_field_options, value, {:with => Authlogic::Regex.login, :message => I18n.t('error_messages.login_invalid', :default => "should use only letters, numbers, spaces, and .-_@ please.")}) end alias_method :validates_format_of_login_field_options=, :validates_format_of_login_field_options diff --git a/test/acts_as_authentic_test/login_test.rb b/test/acts_as_authentic_test/login_test.rb index 6159477e..b6056dca 100644 --- a/test/acts_as_authentic_test/login_test.rb +++ b/test/acts_as_authentic_test/login_test.rb @@ -5,101 +5,101 @@ class LoginTest < ActiveSupport::TestCase def test_login_field_config assert_equal :login, User.login_field assert_nil Employee.login_field - + User.login_field = :nope assert_equal :nope, User.login_field User.login_field :login assert_equal :login, User.login_field end - + def test_validate_login_field_config assert User.validate_login_field assert Employee.validate_login_field - + User.validate_login_field = false assert !User.validate_login_field User.validate_login_field true assert User.validate_login_field end - + def test_validates_length_of_login_field_options_config assert_equal({:within => 3..100}, User.validates_length_of_login_field_options) assert_equal({:within => 3..100}, Employee.validates_length_of_login_field_options) - + User.validates_length_of_login_field_options = {:yes => "no"} assert_equal({:yes => "no"}, User.validates_length_of_login_field_options) User.validates_length_of_login_field_options({:within => 3..100}) assert_equal({:within => 3..100}, User.validates_length_of_login_field_options) end - + def test_validates_format_of_login_field_options_config - default = {:with => /\A\w[\w\.+\-_@ ]+$/, :message => I18n.t('error_messages.login_invalid', :default => "should use only letters, numbers, spaces, and .-_@ please.")} + default = {:with => /\A\w[\w\.+\-_@ ]+\z/, :message => I18n.t('error_messages.login_invalid', :default => "should use only letters, numbers, spaces, and .-_@ please.")} assert_equal default, User.validates_format_of_login_field_options assert_equal default, Employee.validates_format_of_login_field_options - + User.validates_format_of_login_field_options = {:yes => "no"} assert_equal({:yes => "no"}, User.validates_format_of_login_field_options) User.validates_format_of_login_field_options default assert_equal default, User.validates_format_of_login_field_options end - + def test_validates_uniqueness_of_login_field_options_config default = {:case_sensitive => false, :scope => User.validations_scope, :if => "#{User.login_field}_changed?".to_sym} assert_equal default, User.validates_uniqueness_of_login_field_options - + User.validates_uniqueness_of_login_field_options = {:yes => "no"} assert_equal({:yes => "no"}, User.validates_uniqueness_of_login_field_options) User.validates_uniqueness_of_login_field_options default assert_equal default, User.validates_uniqueness_of_login_field_options end - + def test_validates_length_of_login_field u = User.new u.login = "a" assert !u.valid? assert u.errors[:login].size > 0 - + u.login = "aaaaaaaaaa" assert !u.valid? assert u.errors[:login].size == 0 end - + def test_validates_format_of_login_field u = User.new u.login = "fdsf@^&*" assert !u.valid? assert u.errors[:login].size > 0 - + u.login = "fdsfdsfdsfdsfs" assert !u.valid? assert u.errors[:login].size == 0 - + u.login = "dakota.dux+1@gmail.com" assert !u.valid? assert u.errors[:login].size == 0 end - + def test_validates_uniqueness_of_login_field u = User.new u.login = "bjohnson" assert !u.valid? assert u.errors[:login].size > 0 - + u.login = "BJOHNSON" assert !u.valid? assert u.errors[:login].size > 0 - + u.login = "fdsfdsf" assert !u.valid? assert u.errors[:login].size == 0 end - + def test_find_by_smart_case_login_field ben = users(:ben) assert_equal ben, User.find_by_smart_case_login_field("bjohnson") assert_equal ben, User.find_by_smart_case_login_field("BJOHNSON") assert_equal ben, User.find_by_smart_case_login_field("Bjohnson") - + drew = employees(:drew) assert_equal drew, Employee.find_by_smart_case_login_field("dgainor@binarylogic.com") assert_equal drew, Employee.find_by_smart_case_login_field("Dgainor@binarylogic.com")