From 7664892b5de638fba5d30577d4e57ef9bd6f0b43 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Mon, 28 Feb 2011 10:03:09 +0000 Subject: [PATCH] scm: refactor scm log encoding test (#1735, #3396, #7597). Bazaar log depends on locale. On Japanese Windows, standard out is CP932. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4961 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- test/unit/changeset_test.rb | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/test/unit/changeset_test.rb b/test/unit/changeset_test.rb index 649e79edc..d1dbb44ee 100644 --- a/test/unit/changeset_test.rb +++ b/test/unit/changeset_test.rb @@ -223,17 +223,32 @@ class ChangesetTest < ActiveSupport::TestCase def test_comments_should_be_converted_to_utf8 with_settings :commit_logs_encoding => 'ISO-8859-1' do - c = Changeset.new - c.comments = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt") + proj = Project.find(3) + str = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt") + r = Repository::Bazaar.create!(:project => proj, :url => '/tmp/test/bazaar') + assert r + c = Changeset.new(:repository => r, + :committed_on => Time.now, + :revision => '123', + :scmid => '12345', + :comments => str) + assert( c.save ) assert_equal "Texte encodé en ISO-8859-1.", c.comments end end def test_invalid_utf8_sequences_in_comments_should_be_stripped with_settings :commit_logs_encoding => 'UTF-8' do - c = Changeset.new + proj = Project.find(3) str = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt") - c.comments = str + r = Repository::Bazaar.create!(:project => proj, :url => '/tmp/test/bazaar') + assert r + c = Changeset.new(:repository => r, + :committed_on => Time.now, + :revision => '123', + :scmid => '12345', + :comments => str) + assert( c.save ) if str.respond_to?(:force_encoding) assert_equal "Texte encod? en ISO-8859-1.", c.comments else @@ -256,7 +271,15 @@ class ChangesetTest < ActiveSupport::TestCase s4.force_encoding('UTF-8') assert_equal s3.encode('UTF-8'), s4 end - c.comments = s1 + proj = Project.find(3) + r = Repository::Bazaar.create!(:project => proj, :url => '/tmp/test/bazaar') + assert r + c = Changeset.new(:repository => r, + :committed_on => Time.now, + :revision => '123', + :scmid => '12345', + :comments => s1) + assert( c.save ) assert_equal s2, c.comments end end