Mercurial > hg > soundsoftware-site
comparison test/unit/helpers/.svn/text-base/repository_helper_test.rb.svn-base @ 441:cbce1fd3b1b7 redmine-1.2
Update to Redmine 1.2-stable branch (Redmine SVN rev 6000)
author | Chris Cannam |
---|---|
date | Mon, 06 Jun 2011 14:24:13 +0100 |
parents | 051f544170fe |
children |
comparison
equal
deleted
inserted
replaced
245:051f544170fe | 441:cbce1fd3b1b7 |
---|---|
22 | 22 |
23 def test_from_latin1_to_utf8 | 23 def test_from_latin1_to_utf8 |
24 with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do | 24 with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do |
25 s1 = "Texte encod\xc3\xa9" | 25 s1 = "Texte encod\xc3\xa9" |
26 s2 = "Texte encod\xe9" | 26 s2 = "Texte encod\xe9" |
27 s3 = s2 | 27 s3 = s2.dup |
28 if s1.respond_to?(:force_encoding) | 28 if s1.respond_to?(:force_encoding) |
29 s1.force_encoding("UTF-8") | 29 s1.force_encoding("UTF-8") |
30 s2.force_encoding("ASCII-8BIT") | 30 s2.force_encoding("ASCII-8BIT") |
31 s3.force_encoding("UTF-8") | 31 s3.force_encoding("UTF-8") |
32 end | 32 end |
37 | 37 |
38 def test_from_euc_jp_to_utf8 | 38 def test_from_euc_jp_to_utf8 |
39 with_settings :repositories_encodings => 'UTF-8,EUC-JP' do | 39 with_settings :repositories_encodings => 'UTF-8,EUC-JP' do |
40 s1 = "\xe3\x83\xac\xe3\x83\x83\xe3\x83\x89\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xb3" | 40 s1 = "\xe3\x83\xac\xe3\x83\x83\xe3\x83\x89\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xb3" |
41 s2 = "\xa5\xec\xa5\xc3\xa5\xc9\xa5\xde\xa5\xa4\xa5\xf3" | 41 s2 = "\xa5\xec\xa5\xc3\xa5\xc9\xa5\xde\xa5\xa4\xa5\xf3" |
42 s3 = s2 | 42 s3 = s2.dup |
43 if s1.respond_to?(:force_encoding) | 43 if s1.respond_to?(:force_encoding) |
44 s1.force_encoding("UTF-8") | 44 s1.force_encoding("UTF-8") |
45 s2.force_encoding("ASCII-8BIT") | 45 s2.force_encoding("ASCII-8BIT") |
46 s3.force_encoding("UTF-8") | 46 s3.force_encoding("UTF-8") |
47 end | 47 end |
52 | 52 |
53 def test_to_utf8_should_be_converted_all_latin1_to_utf8 | 53 def test_to_utf8_should_be_converted_all_latin1_to_utf8 |
54 with_settings :repositories_encodings => 'ISO-8859-1' do | 54 with_settings :repositories_encodings => 'ISO-8859-1' do |
55 s1 = "\xc3\x82\xc2\x80" | 55 s1 = "\xc3\x82\xc2\x80" |
56 s2 = "\xC2\x80" | 56 s2 = "\xC2\x80" |
57 s3 = s2 | 57 s3 = s2.dup |
58 if s1.respond_to?(:force_encoding) | 58 if s1.respond_to?(:force_encoding) |
59 s1.force_encoding("UTF-8") | 59 s1.force_encoding("UTF-8") |
60 s2.force_encoding("ASCII-8BIT") | 60 s2.force_encoding("ASCII-8BIT") |
61 s3.force_encoding("UTF-8") | 61 s3.force_encoding("UTF-8") |
62 end | 62 end |
63 assert_equal s1, to_utf8(s2) | 63 assert_equal s1, to_utf8(s2) |
64 assert_equal s1, to_utf8(s3) | 64 assert_equal s1, to_utf8(s3) |
65 end | 65 end |
66 end | 66 end |
67 | |
68 def test_to_utf8_blank_string | |
69 assert_equal "", to_utf8("") | |
70 assert_equal nil, to_utf8(nil) | |
71 end | |
72 | |
73 def test_to_utf8_returns_ascii_as_utf8 | |
74 s1 = "ASCII" | |
75 s2 = s1.dup | |
76 if s1.respond_to?(:force_encoding) | |
77 s1.force_encoding("UTF-8") | |
78 s2.force_encoding("ISO-8859-1") | |
79 end | |
80 str1 = to_utf8(s1) | |
81 str2 = to_utf8(s2) | |
82 assert_equal s1, str1 | |
83 assert_equal s1, str2 | |
84 if s1.respond_to?(:force_encoding) | |
85 assert_equal "UTF-8", str1.encoding.to_s | |
86 assert_equal "UTF-8", str2.encoding.to_s | |
87 end | |
88 end | |
89 | |
90 def test_to_utf8_invalid_utf8_sequences_should_be_stripped | |
91 with_settings :repositories_encodings => '' do | |
92 # s1 = File.read("#{RAILS_ROOT}/test/fixtures/encoding/iso-8859-1.txt") | |
93 s1 = "Texte encod\xe9 en ISO-8859-1." | |
94 s1.force_encoding("ASCII-8BIT") if s1.respond_to?(:force_encoding) | |
95 str = to_utf8(s1) | |
96 if str.respond_to?(:force_encoding) | |
97 assert str.valid_encoding? | |
98 assert_equal "UTF-8", str.encoding.to_s | |
99 end | |
100 assert_equal "Texte encod? en ISO-8859-1.", str | |
101 end | |
102 end | |
103 | |
104 def test_to_utf8_invalid_utf8_sequences_should_be_stripped_ja_jis | |
105 with_settings :repositories_encodings => 'ISO-2022-JP' do | |
106 s1 = "test\xb5\xfetest\xb5\xfe" | |
107 s1.force_encoding("ASCII-8BIT") if s1.respond_to?(:force_encoding) | |
108 str = to_utf8(s1) | |
109 if str.respond_to?(:force_encoding) | |
110 assert str.valid_encoding? | |
111 assert_equal "UTF-8", str.encoding.to_s | |
112 end | |
113 assert_equal "test??test??", str | |
114 end | |
115 end | |
67 end | 116 end |
68 |