##// END OF EJS Templates
scm: set empty log encoding UTF-8 in Ruby 1.9 and add tests....
Toshi MARUYAMA -
r5248:1b0473c38ece
parent child
Show More
@@ -247,7 +247,10 class Changeset < ActiveRecord::Base
247 247 def self.to_utf8(str, encoding)
248 248 return str if str.nil?
249 249 str.force_encoding("ASCII-8BIT") if str.respond_to?(:force_encoding)
250 return str if str.empty?
250 if str.empty?
251 str.force_encoding("UTF-8") if str.respond_to?(:force_encoding)
252 return str
253 end
251 254 str.force_encoding("UTF-8") if str.respond_to?(:force_encoding)
252 255 if str.respond_to?(:force_encoding)
253 256 enc = encoding.blank? ? "UTF-8" : encoding
@@ -292,6 +292,42 class ChangesetTest < ActiveSupport::TestCase
292 292 assert_equal s4, c.comments
293 293 end
294 294
295 def test_comments_nil
296 proj = Project.find(3)
297 r = Repository::Bazaar.create!(
298 :project => proj, :url => '/tmp/test/bazaar',
299 :log_encoding => 'ISO-8859-1' )
300 assert r
301 c = Changeset.new(:repository => r,
302 :committed_on => Time.now,
303 :revision => '123',
304 :scmid => '12345',
305 :comments => nil)
306 assert( c.save )
307 assert_equal "", c.comments
308 if c.comments.respond_to?(:force_encoding)
309 assert_equal "UTF-8", c.comments.encoding.to_s
310 end
311 end
312
313 def test_comments_empty
314 proj = Project.find(3)
315 r = Repository::Bazaar.create!(
316 :project => proj, :url => '/tmp/test/bazaar',
317 :log_encoding => 'ISO-8859-1' )
318 assert r
319 c = Changeset.new(:repository => r,
320 :committed_on => Time.now,
321 :revision => '123',
322 :scmid => '12345',
323 :comments => "")
324 assert( c.save )
325 assert_equal "", c.comments
326 if c.comments.respond_to?(:force_encoding)
327 assert_equal "UTF-8", c.comments.encoding.to_s
328 end
329 end
330
295 331 def test_identifier
296 332 c = Changeset.find_by_revision('1')
297 333 assert_equal c.revision, c.identifier
General Comments 0
You need to be logged in to leave comments. Login now