From 54e1eb12645142da04068beaa625c6d6e4f42bb6 Mon Sep 17 00:00:00 2001 From: Tim Landwerth Date: Wed, 12 Mar 2025 13:40:59 +0100 Subject: [PATCH 1/2] Add failing test case --- test/activerecord_test.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/activerecord_test.rb b/test/activerecord_test.rb index e345de9..cb4619e 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,16 @@ class AdminUser < User expect(User.exists?(status: :active)).must_equal true expect(User.exists?(interests: [:music, :sports])).must_equal true end + + # Commenting out `normalizes :locale, ...` will make these tests green + 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 From 0746750a9401b92c30c901eb550db916851914d1 Mon Sep 17 00:00:00 2001 From: Tim Landwerth Date: Wed, 12 Mar 2025 13:43:42 +0100 Subject: [PATCH 2/2] Remove comment --- test/activerecord_test.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/test/activerecord_test.rb b/test/activerecord_test.rb index cb4619e..a7e197a 100644 --- a/test/activerecord_test.rb +++ b/test/activerecord_test.rb @@ -759,7 +759,6 @@ class AdminUser < User expect(User.exists?(interests: [:music, :sports])).must_equal true end - # Commenting out `normalizes :locale, ...` will make these tests green it 'supports AR#normalizes class methods' do User.delete_all User.create!(locale: 'de')