mirror of
https://github.com/redmine/redmine.git
synced 2025-11-01 10:56:17 +01:00
Decode hexadecimal-encoded literals in order to be frozen string literals friendly (#31004).
Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@17991 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -448,8 +448,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
|
||||
def test_comments_should_be_converted_to_utf8
|
||||
proj = Project.find(3)
|
||||
# str = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt")
|
||||
str = "Texte encod\xe9 en ISO-8859-1.".force_encoding("ASCII-8BIT")
|
||||
str = (+"Texte encod\xe9 en ISO-8859-1.").force_encoding("ASCII-8BIT")
|
||||
r = Repository::Bazaar.create!(
|
||||
:project => proj,
|
||||
:url => '/tmp/test/bazaar',
|
||||
@@ -461,15 +460,12 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
:scmid => '12345',
|
||||
:comments => str)
|
||||
assert( c.save )
|
||||
str_utf8 = "Texte encod\xc3\xa9 en ISO-8859-1.".force_encoding("UTF-8")
|
||||
assert_equal str_utf8, c.comments
|
||||
assert_equal 'Texte encodé en ISO-8859-1.', c.comments
|
||||
end
|
||||
|
||||
def test_invalid_utf8_sequences_in_comments_should_be_replaced_latin1
|
||||
proj = Project.find(3)
|
||||
# str = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt")
|
||||
str1 = "Texte encod\xe9 en ISO-8859-1.".force_encoding("UTF-8")
|
||||
str2 = "\xe9a\xe9b\xe9c\xe9d\xe9e test".force_encoding("ASCII-8BIT")
|
||||
str2 = (+"\xe9a\xe9b\xe9c\xe9d\xe9e test").force_encoding("ASCII-8BIT")
|
||||
r = Repository::Bazaar.create!(
|
||||
:project => proj,
|
||||
:url => '/tmp/test/bazaar',
|
||||
@@ -479,7 +475,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
:committed_on => Time.now,
|
||||
:revision => '123',
|
||||
:scmid => '12345',
|
||||
:comments => str1,
|
||||
:comments => "Texte encod\xE9 en ISO-8859-1.",
|
||||
:committer => str2)
|
||||
assert( c.save )
|
||||
assert_equal "Texte encod? en ISO-8859-1.", c.comments
|
||||
@@ -488,7 +484,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
|
||||
def test_invalid_utf8_sequences_in_comments_should_be_replaced_ja_jis
|
||||
proj = Project.find(3)
|
||||
str = "test\xb5\xfetest\xb5\xfe".force_encoding('ASCII-8BIT')
|
||||
str = (+"test\xb5\xfetest\xb5\xfe").force_encoding('ASCII-8BIT')
|
||||
r = Repository::Bazaar.create!(
|
||||
:project => proj,
|
||||
:url => '/tmp/test/bazaar',
|
||||
@@ -504,8 +500,8 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
def test_comments_should_be_converted_all_latin1_to_utf8
|
||||
s1 = "\xC2\x80"
|
||||
s2 = "\xc3\x82\xc2\x80"
|
||||
s1 = +"\xC2\x80"
|
||||
s2 = +"\xc3\x82\xc2\x80"
|
||||
s4 = s2.dup
|
||||
s3 = s1.dup
|
||||
s1.force_encoding('ASCII-8BIT')
|
||||
@@ -530,8 +526,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
|
||||
def test_invalid_utf8_sequences_in_paths_should_be_replaced
|
||||
proj = Project.find(3)
|
||||
str1 = "Texte encod\xe9 en ISO-8859-1".force_encoding("UTF-8")
|
||||
str2 = "\xe9a\xe9b\xe9c\xe9d\xe9e test".force_encoding("ASCII-8BIT")
|
||||
str2 = (+"\xe9a\xe9b\xe9c\xe9d\xe9e test").force_encoding("ASCII-8BIT")
|
||||
r = Repository::Bazaar.create!(
|
||||
:project => proj,
|
||||
:url => '/tmp/test/bazaar',
|
||||
@@ -547,7 +542,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
||||
ch = Change.new(
|
||||
:changeset => cs,
|
||||
:action => "A",
|
||||
:path => str1,
|
||||
:path => "Texte encod\xE9 en ISO-8859-1",
|
||||
:from_path => str2,
|
||||
:from_revision => "345")
|
||||
assert(ch.save)
|
||||
|
||||
Reference in New Issue
Block a user