diff --git a/lib/user_name_suggester.rb b/lib/user_name_suggester.rb index 2069113cfdb..afff6f1223b 100644 --- a/lib/user_name_suggester.rb +++ b/lib/user_name_suggester.rb @@ -39,7 +39,7 @@ module UserNameSuggester end def self.sanitize_username(name) - name = ActiveSupport::Inflector.transliterate(name) + name = ActiveSupport::Inflector.transliterate(name.to_s) # 1. replace characters that aren't allowed with '_' name.gsub!(UsernameValidator::CONFUSING_EXTENSIONS, "_") name.gsub!(/[^\w.-]/, "_") diff --git a/spec/components/user_name_suggester_spec.rb b/spec/components/user_name_suggester_spec.rb index 6046aa6ef7e..a9137d8b747 100644 --- a/spec/components/user_name_suggester_spec.rb +++ b/spec/components/user_name_suggester_spec.rb @@ -18,6 +18,10 @@ describe UserNameSuggester do expect(UserNameSuggester.suggest(nil)).to eq(nil) end + it "doesn't raise an error on integer username" do + expect(UserNameSuggester.suggest(999)).to eq('999') + end + it 'corrects weird characters' do expect(UserNameSuggester.suggest("Darth%^Vader")).to eq('Darth_Vader') end