diff --git a/test/activerecord_test.rb b/test/activerecord_test.rb index e345de9..a7e197a 100644 --- a/test/activerecord_test.rb +++ b/test/activerecord_test.rb @@ -75,6 +75,7 @@ t.string :foo t.boolean :newsletter_subscribed, default: true t.json :store_accessor_store_with_no_defaults + t.string :locale end create_table :documents do |t| @@ -114,6 +115,9 @@ class User < ActiveRecord::Base enumerize :language, :in => [:en, :jp] enumerize :country_code, :in => [:us, :ca] + normalizes :locale, with: ->(value) { value.downcase.strip.presence } + enumerize :locale, :in => [:de, :en, :pl] + serialize :interests, type: Array enumerize :interests, :in => [:music, :sports, :dancing, :programming], :multiple => true @@ -754,4 +758,15 @@ class AdminUser < User expect(User.exists?(status: :active)).must_equal true expect(User.exists?(interests: [:music, :sports])).must_equal true end + + it 'supports AR#normalizes class methods' do + User.delete_all + User.create!(locale: 'de') + expect(User.exists?(locale: ' DE ')).must_equal true + end + + it 'supports AR#normalizes instance methods' do + user = User.new(locale: ' DE ') + expect(user.locale).must_equal 'de' + end end