From c754e017dcc49b6c3bdd14ad0fe4553a044b3c73 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 25 Aug 2007 14:41:55 +0000 Subject: [PATCH] Changeset comments are now stripped before being stored in the database (patch by Nicholas Wieland). git-svn-id: http://redmine.rubyforge.org/svn/trunk@657 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/changeset.rb | 4 ++++ test/unit/repository_test.rb | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 879896fe..57e2d74a 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -25,6 +25,10 @@ class Changeset < ActiveRecord::Base validates_uniqueness_of :revision, :scope => :repository_id validates_uniqueness_of :scmid, :scope => :repository_id, :allow_nil => true + def comments=(comment) + write_attribute(:comments, comment.strip) + end + def committed_on=(date) self.commit_date = date super diff --git a/test/unit/repository_test.rb b/test/unit/repository_test.rb index e420b645..bc2fa626 100644 --- a/test/unit/repository_test.rb +++ b/test/unit/repository_test.rb @@ -53,4 +53,19 @@ class RepositoryTest < Test::Unit::TestCase # ignoring commits referencing an issue of another project assert_equal [], Issue.find(4).changesets end + + def test_for_changeset_comments_strip + repository = Repository::Mercurial.create( :project => Project.find( 4 ), :url => '/foo/bar/baz' ) + comment = <<-COMMENT + This is a loooooooooooooooooooooooooooong comment + + + COMMENT + changeset = Changeset.new( + :comments => comment, :commit_date => Time.now, :revision => 0, :scmid => 'f39b7922fb3c', + :committer => 'foo ', :committed_on => Time.now, :repository_id => repository ) + assert( changeset.save ) + assert_not_equal( comment, changeset.comments ) + assert_equal( 'This is a loooooooooooooooooooooooooooong comment', changeset.comments ) + end end -- 2.11.0