diff options
-rw-r--r-- | app/models/user.rb | 4 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 17 |
2 files changed, 17 insertions, 4 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 257acd0fc..306d6ad4a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -106,7 +106,9 @@ class User < ActiveRecord::Base name.strip! end if self.public_banned? - name = _("{{user_name}} (Account suspended)", :user_name=>name) + # Use interpolation to return a string rather than a SafeBuffer so that + # gsub can be called on it until we upgrade to Rails 3.2 + name = "#{_("{{user_name}} (Account suspended)", :user_name=> name)}" end name end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 651ba4b65..96c169604 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -27,11 +27,22 @@ describe User, "showing the name" do @user.name.should == 'Some Name' end - it 'should show if user has been banned' do - @user.ban_text = "Naughty user" - @user.name.should == 'Some Name (Account suspended)' + describe 'if user has been banned' do + + before do + @user.ban_text = "Naughty user" + end + + it 'should show an "Account suspended" suffix' do + @user.name.should == 'Some Name (Account suspended)' + end + + it 'should return a string when the user has been banned, not a SafeBuffer' do + @user.name.class.should == String + end end + end describe User, " when authenticating" do |