##// END OF EJS Templates
Normalize issue description EOLs do prevent false journal details (#8712)....
Jean-Philippe Lang -
r6029:66f026aa7818
parent child
Show More
@@ -228,6 +228,13 class Issue < ActiveRecord::Base
228 result
228 result
229 end
229 end
230
230
231 def description=(arg)
232 if arg.is_a?(String)
233 arg = arg.gsub(/(\r\n|\n|\r)/, "\r\n")
234 end
235 write_attribute(:description, arg)
236 end
237
231 # Overrides attributes= so that tracker_id gets assigned first
238 # Overrides attributes= so that tracker_id gets assigned first
232 def attributes_with_tracker_first=(new_attributes, *args)
239 def attributes_with_tracker_first=(new_attributes, *args)
233 return if new_attributes.nil?
240 return if new_attributes.nil?
@@ -738,7 +738,7 class IssueTest < ActiveSupport::TestCase
738 IssueCustomField.delete_all
738 IssueCustomField.delete_all
739 Issue.update_all("description = NULL", "id=1")
739 Issue.update_all("description = NULL", "id=1")
740
740
741 i = Issue.first
741 i = Issue.find(1)
742 i.init_journal(User.find(2))
742 i.init_journal(User.find(2))
743 i.subject = "blank description"
743 i.subject = "blank description"
744 i.description = "\r\n"
744 i.description = "\r\n"
@@ -750,6 +750,11 class IssueTest < ActiveSupport::TestCase
750 end
750 end
751 end
751 end
752
752
753 def test_description_eol_should_be_normalized
754 i = Issue.new(:description => "CR \r LF \n CRLF \r\n")
755 assert_equal "CR \r\n LF \r\n CRLF \r\n", i.description
756 end
757
753 def test_saving_twice_should_not_duplicate_journal_details
758 def test_saving_twice_should_not_duplicate_journal_details
754 i = Issue.find(:first)
759 i = Issue.find(:first)
755 i.init_journal(User.find(2), 'Some notes')
760 i.init_journal(User.find(2), 'Some notes')
General Comments 0
You need to be logged in to leave comments. Login now