##// END OF EJS Templates
scm: bazaar: add more comment to non ASCII path tests at unit model test (#11834)...
Toshi MARUYAMA -
r10240:74f7fc38f078
parent child
Show More
@@ -1,306 +1,306
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19
19
20 class RepositoryBazaarTest < ActiveSupport::TestCase
20 class RepositoryBazaarTest < ActiveSupport::TestCase
21 fixtures :projects
21 fixtures :projects
22
22
23 include Redmine::I18n
23 include Redmine::I18n
24
24
25 REPOSITORY_PATH = Rails.root.join('tmp/test/bazaar_repository').to_s
25 REPOSITORY_PATH = Rails.root.join('tmp/test/bazaar_repository').to_s
26 REPOSITORY_PATH_TRUNK = File.join(REPOSITORY_PATH, "trunk")
26 REPOSITORY_PATH_TRUNK = File.join(REPOSITORY_PATH, "trunk")
27 NUM_REV = 4
27 NUM_REV = 4
28
28
29 REPOSITORY_PATH_NON_ASCII = Rails.root.join(REPOSITORY_PATH + '/' + 'non_ascii').to_s
29 REPOSITORY_PATH_NON_ASCII = Rails.root.join(REPOSITORY_PATH + '/' + 'non_ascii').to_s
30
30
31 # Bazaar core does not support xml output such as Subversion and Mercurial.
31 # Bazaar core does not support xml output such as Subversion and Mercurial.
32 # "bzr" command output and command line parameter depend on locale.
32 # "bzr" command output and command line parameter depend on locale.
33 # So, tests cannot run independent locale.
33 # So, non ASCII path tests cannot run independent locale.
34 #
34 #
35 # If you want to run Bazaar non ASCII path tests on *Ruby 1.9*,
35 # If you want to run Bazaar non ASCII path tests on Linux *Ruby 1.9*,
36 # you need to set locale character set "ISO-8859-1".
36 # you need to set locale character set "ISO-8859-1".
37 # E.g. "LANG=en_US.ISO-8859-1".
37 # E.g. "LANG=en_US.ISO-8859-1".
38 # On other platforms (e.g. Ruby 1.8, JRuby),
38 # On Linux other platforms (e.g. Ruby 1.8, JRuby),
39 # you need to set "RUN_LATIN1_OUTPUT_TEST = true" manually.
39 # you need to set "RUN_LATIN1_OUTPUT_TEST = true" manually.
40 #
40 #
41 # On Windows, because it is too hard to change system locale,
41 # On Windows, because it is too hard to change system locale,
42 # you cannot run Bazaar non ASCII path tests.
42 # you cannot run Bazaar non ASCII path tests.
43 #
43 #
44 RUN_LATIN1_OUTPUT_TEST = (RUBY_PLATFORM != 'java' &&
44 RUN_LATIN1_OUTPUT_TEST = (RUBY_PLATFORM != 'java' &&
45 REPOSITORY_PATH.respond_to?(:force_encoding) &&
45 REPOSITORY_PATH.respond_to?(:force_encoding) &&
46 Encoding.locale_charmap == "ISO-8859-1")
46 Encoding.locale_charmap == "ISO-8859-1")
47
47
48 CHAR_1_UTF8_HEX = "\xc3\x9c"
48 CHAR_1_UTF8_HEX = "\xc3\x9c"
49 CHAR_1_LATIN1_HEX = "\xdc"
49 CHAR_1_LATIN1_HEX = "\xdc"
50
50
51 def setup
51 def setup
52 @project = Project.find(3)
52 @project = Project.find(3)
53 @repository = Repository::Bazaar.create(
53 @repository = Repository::Bazaar.create(
54 :project => @project, :url => REPOSITORY_PATH_TRUNK,
54 :project => @project, :url => REPOSITORY_PATH_TRUNK,
55 :log_encoding => 'UTF-8')
55 :log_encoding => 'UTF-8')
56 assert @repository
56 assert @repository
57 @char_1_utf8 = CHAR_1_UTF8_HEX.dup
57 @char_1_utf8 = CHAR_1_UTF8_HEX.dup
58 @char_1_ascii8bit = CHAR_1_LATIN1_HEX.dup
58 @char_1_ascii8bit = CHAR_1_LATIN1_HEX.dup
59 if @char_1_utf8.respond_to?(:force_encoding)
59 if @char_1_utf8.respond_to?(:force_encoding)
60 @char_1_utf8.force_encoding('UTF-8')
60 @char_1_utf8.force_encoding('UTF-8')
61 @char_1_ascii8bit.force_encoding('ASCII-8BIT')
61 @char_1_ascii8bit.force_encoding('ASCII-8BIT')
62 end
62 end
63 end
63 end
64
64
65 def test_blank_path_to_repository_error_message
65 def test_blank_path_to_repository_error_message
66 set_language_if_valid 'en'
66 set_language_if_valid 'en'
67 repo = Repository::Bazaar.new(
67 repo = Repository::Bazaar.new(
68 :project => @project,
68 :project => @project,
69 :identifier => 'test',
69 :identifier => 'test',
70 :log_encoding => 'UTF-8'
70 :log_encoding => 'UTF-8'
71 )
71 )
72 assert !repo.save
72 assert !repo.save
73 assert_include "Path to repository can't be blank",
73 assert_include "Path to repository can't be blank",
74 repo.errors.full_messages
74 repo.errors.full_messages
75 end
75 end
76
76
77 def test_blank_path_to_repository_error_message_fr
77 def test_blank_path_to_repository_error_message_fr
78 set_language_if_valid 'fr'
78 set_language_if_valid 'fr'
79 str = "Chemin du d\xc3\xa9p\xc3\xb4t doit \xc3\xaatre renseign\xc3\xa9(e)"
79 str = "Chemin du d\xc3\xa9p\xc3\xb4t doit \xc3\xaatre renseign\xc3\xa9(e)"
80 str.force_encoding('UTF-8') if str.respond_to?(:force_encoding)
80 str.force_encoding('UTF-8') if str.respond_to?(:force_encoding)
81 repo = Repository::Bazaar.new(
81 repo = Repository::Bazaar.new(
82 :project => @project,
82 :project => @project,
83 :url => "",
83 :url => "",
84 :identifier => 'test',
84 :identifier => 'test',
85 :log_encoding => 'UTF-8'
85 :log_encoding => 'UTF-8'
86 )
86 )
87 assert !repo.save
87 assert !repo.save
88 assert_include str, repo.errors.full_messages
88 assert_include str, repo.errors.full_messages
89 end
89 end
90
90
91 if File.directory?(REPOSITORY_PATH_TRUNK)
91 if File.directory?(REPOSITORY_PATH_TRUNK)
92 def test_fetch_changesets_from_scratch
92 def test_fetch_changesets_from_scratch
93 assert_equal 0, @repository.changesets.count
93 assert_equal 0, @repository.changesets.count
94 @repository.fetch_changesets
94 @repository.fetch_changesets
95 @project.reload
95 @project.reload
96
96
97 assert_equal NUM_REV, @repository.changesets.count
97 assert_equal NUM_REV, @repository.changesets.count
98 assert_equal 9, @repository.filechanges.count
98 assert_equal 9, @repository.filechanges.count
99 assert_equal 'Initial import', @repository.changesets.find_by_revision('1').comments
99 assert_equal 'Initial import', @repository.changesets.find_by_revision('1').comments
100 end
100 end
101
101
102 def test_fetch_changesets_incremental
102 def test_fetch_changesets_incremental
103 assert_equal 0, @repository.changesets.count
103 assert_equal 0, @repository.changesets.count
104 @repository.fetch_changesets
104 @repository.fetch_changesets
105 @project.reload
105 @project.reload
106 assert_equal NUM_REV, @repository.changesets.count
106 assert_equal NUM_REV, @repository.changesets.count
107 # Remove changesets with revision > 5
107 # Remove changesets with revision > 5
108 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 2}
108 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 2}
109 @project.reload
109 @project.reload
110 assert_equal 2, @repository.changesets.count
110 assert_equal 2, @repository.changesets.count
111
111
112 @repository.fetch_changesets
112 @repository.fetch_changesets
113 @project.reload
113 @project.reload
114 assert_equal NUM_REV, @repository.changesets.count
114 assert_equal NUM_REV, @repository.changesets.count
115 end
115 end
116
116
117 def test_entries
117 def test_entries
118 entries = @repository.entries
118 entries = @repository.entries
119 assert_kind_of Redmine::Scm::Adapters::Entries, entries
119 assert_kind_of Redmine::Scm::Adapters::Entries, entries
120 assert_equal 2, entries.size
120 assert_equal 2, entries.size
121
121
122 assert_equal 'dir', entries[0].kind
122 assert_equal 'dir', entries[0].kind
123 assert_equal 'directory', entries[0].name
123 assert_equal 'directory', entries[0].name
124 assert_equal 'directory', entries[0].path
124 assert_equal 'directory', entries[0].path
125
125
126 assert_equal 'file', entries[1].kind
126 assert_equal 'file', entries[1].kind
127 assert_equal 'doc-mkdir.txt', entries[1].name
127 assert_equal 'doc-mkdir.txt', entries[1].name
128 assert_equal 'doc-mkdir.txt', entries[1].path
128 assert_equal 'doc-mkdir.txt', entries[1].path
129 end
129 end
130
130
131 def test_entries_in_subdirectory
131 def test_entries_in_subdirectory
132 entries = @repository.entries('directory')
132 entries = @repository.entries('directory')
133 assert_equal 3, entries.size
133 assert_equal 3, entries.size
134
134
135 assert_equal 'file', entries.last.kind
135 assert_equal 'file', entries.last.kind
136 assert_equal 'edit.png', entries.last.name
136 assert_equal 'edit.png', entries.last.name
137 assert_equal 'directory/edit.png', entries.last.path
137 assert_equal 'directory/edit.png', entries.last.path
138 end
138 end
139
139
140 def test_previous
140 def test_previous
141 assert_equal 0, @repository.changesets.count
141 assert_equal 0, @repository.changesets.count
142 @repository.fetch_changesets
142 @repository.fetch_changesets
143 @project.reload
143 @project.reload
144 assert_equal NUM_REV, @repository.changesets.count
144 assert_equal NUM_REV, @repository.changesets.count
145 changeset = @repository.find_changeset_by_name('3')
145 changeset = @repository.find_changeset_by_name('3')
146 assert_equal @repository.find_changeset_by_name('2'), changeset.previous
146 assert_equal @repository.find_changeset_by_name('2'), changeset.previous
147 end
147 end
148
148
149 def test_previous_nil
149 def test_previous_nil
150 assert_equal 0, @repository.changesets.count
150 assert_equal 0, @repository.changesets.count
151 @repository.fetch_changesets
151 @repository.fetch_changesets
152 @project.reload
152 @project.reload
153 assert_equal NUM_REV, @repository.changesets.count
153 assert_equal NUM_REV, @repository.changesets.count
154 changeset = @repository.find_changeset_by_name('1')
154 changeset = @repository.find_changeset_by_name('1')
155 assert_nil changeset.previous
155 assert_nil changeset.previous
156 end
156 end
157
157
158 def test_next
158 def test_next
159 assert_equal 0, @repository.changesets.count
159 assert_equal 0, @repository.changesets.count
160 @repository.fetch_changesets
160 @repository.fetch_changesets
161 @project.reload
161 @project.reload
162 assert_equal NUM_REV, @repository.changesets.count
162 assert_equal NUM_REV, @repository.changesets.count
163 changeset = @repository.find_changeset_by_name('2')
163 changeset = @repository.find_changeset_by_name('2')
164 assert_equal @repository.find_changeset_by_name('3'), changeset.next
164 assert_equal @repository.find_changeset_by_name('3'), changeset.next
165 end
165 end
166
166
167 def test_next_nil
167 def test_next_nil
168 assert_equal 0, @repository.changesets.count
168 assert_equal 0, @repository.changesets.count
169 @repository.fetch_changesets
169 @repository.fetch_changesets
170 @project.reload
170 @project.reload
171 assert_equal NUM_REV, @repository.changesets.count
171 assert_equal NUM_REV, @repository.changesets.count
172 changeset = @repository.find_changeset_by_name('4')
172 changeset = @repository.find_changeset_by_name('4')
173 assert_nil changeset.next
173 assert_nil changeset.next
174 end
174 end
175
175
176 if File.directory?(REPOSITORY_PATH_NON_ASCII) && RUN_LATIN1_OUTPUT_TEST
176 if File.directory?(REPOSITORY_PATH_NON_ASCII) && RUN_LATIN1_OUTPUT_TEST
177 def test_cat_latin1_path
177 def test_cat_latin1_path
178 latin1_repo = create_latin1_repo
178 latin1_repo = create_latin1_repo
179 buf = latin1_repo.cat(
179 buf = latin1_repo.cat(
180 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", 2)
180 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", 2)
181 assert buf
181 assert buf
182 lines = buf.split("\n")
182 lines = buf.split("\n")
183 assert_equal 2, lines.length
183 assert_equal 2, lines.length
184 assert_equal 'It is written in Python.', lines[1]
184 assert_equal 'It is written in Python.', lines[1]
185
185
186 buf = latin1_repo.cat(
186 buf = latin1_repo.cat(
187 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2)
187 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2)
188 assert buf
188 assert buf
189 lines = buf.split("\n")
189 lines = buf.split("\n")
190 assert_equal 1, lines.length
190 assert_equal 1, lines.length
191 assert_equal "test-#{@char_1_ascii8bit}.txt", lines[0]
191 assert_equal "test-#{@char_1_ascii8bit}.txt", lines[0]
192 end
192 end
193
193
194 def test_annotate_latin1_path
194 def test_annotate_latin1_path
195 latin1_repo = create_latin1_repo
195 latin1_repo = create_latin1_repo
196 ann1 = latin1_repo.annotate(
196 ann1 = latin1_repo.annotate(
197 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", 2)
197 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", 2)
198 assert_equal 2, ann1.lines.size
198 assert_equal 2, ann1.lines.size
199 assert_equal '2', ann1.revisions[0].identifier
199 assert_equal '2', ann1.revisions[0].identifier
200 assert_equal 'test00@', ann1.revisions[0].author
200 assert_equal 'test00@', ann1.revisions[0].author
201 assert_equal 'It is written in Python.', ann1.lines[1]
201 assert_equal 'It is written in Python.', ann1.lines[1]
202 ann2 = latin1_repo.annotate(
202 ann2 = latin1_repo.annotate(
203 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2)
203 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2)
204 assert_equal 1, ann2.lines.size
204 assert_equal 1, ann2.lines.size
205 assert_equal '2', ann2.revisions[0].identifier
205 assert_equal '2', ann2.revisions[0].identifier
206 assert_equal 'test00@', ann2.revisions[0].author
206 assert_equal 'test00@', ann2.revisions[0].author
207 assert_equal "test-#{@char_1_ascii8bit}.txt", ann2.lines[0]
207 assert_equal "test-#{@char_1_ascii8bit}.txt", ann2.lines[0]
208 end
208 end
209
209
210 def test_diff_latin1_path
210 def test_diff_latin1_path
211 latin1_repo = create_latin1_repo
211 latin1_repo = create_latin1_repo
212 diff1 = latin1_repo.diff(
212 diff1 = latin1_repo.diff(
213 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2, 1)
213 "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", 2, 1)
214 assert_equal 7, diff1.size
214 assert_equal 7, diff1.size
215 buf = diff1[5].gsub(/\r\n|\r|\n/, "")
215 buf = diff1[5].gsub(/\r\n|\r|\n/, "")
216 assert_equal "+test-#{@char_1_ascii8bit}.txt", buf
216 assert_equal "+test-#{@char_1_ascii8bit}.txt", buf
217 end
217 end
218
218
219 def test_entries_latin1_path
219 def test_entries_latin1_path
220 latin1_repo = create_latin1_repo
220 latin1_repo = create_latin1_repo
221 entries = latin1_repo.entries("test-#{@char_1_utf8}-dir", 2)
221 entries = latin1_repo.entries("test-#{@char_1_utf8}-dir", 2)
222 assert_kind_of Redmine::Scm::Adapters::Entries, entries
222 assert_kind_of Redmine::Scm::Adapters::Entries, entries
223 assert_equal 3, entries.size
223 assert_equal 3, entries.size
224 assert_equal 'file', entries[1].kind
224 assert_equal 'file', entries[1].kind
225 assert_equal "test-#{@char_1_utf8}-1.txt", entries[0].name
225 assert_equal "test-#{@char_1_utf8}-1.txt", entries[0].name
226 assert_equal "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", entries[0].path
226 assert_equal "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", entries[0].path
227 end
227 end
228
228
229 def test_entry_latin1_path
229 def test_entry_latin1_path
230 latin1_repo = create_latin1_repo
230 latin1_repo = create_latin1_repo
231 ["test-#{@char_1_utf8}-dir",
231 ["test-#{@char_1_utf8}-dir",
232 "/test-#{@char_1_utf8}-dir",
232 "/test-#{@char_1_utf8}-dir",
233 "/test-#{@char_1_utf8}-dir/"
233 "/test-#{@char_1_utf8}-dir/"
234 ].each do |path|
234 ].each do |path|
235 entry = latin1_repo.entry(path, 2)
235 entry = latin1_repo.entry(path, 2)
236 assert_equal "test-#{@char_1_utf8}-dir", entry.path
236 assert_equal "test-#{@char_1_utf8}-dir", entry.path
237 assert_equal "dir", entry.kind
237 assert_equal "dir", entry.kind
238 end
238 end
239 ["test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt",
239 ["test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt",
240 "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt"
240 "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt"
241 ].each do |path|
241 ].each do |path|
242 entry = latin1_repo.entry(path, 2)
242 entry = latin1_repo.entry(path, 2)
243 assert_equal "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt",
243 assert_equal "test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt",
244 entry.path
244 entry.path
245 assert_equal "file", entry.kind
245 assert_equal "file", entry.kind
246 end
246 end
247 end
247 end
248
248
249 def test_changeset_latin1_path
249 def test_changeset_latin1_path
250 latin1_repo = create_latin1_repo
250 latin1_repo = create_latin1_repo
251 assert_equal 0, latin1_repo.changesets.count
251 assert_equal 0, latin1_repo.changesets.count
252 latin1_repo.fetch_changesets
252 latin1_repo.fetch_changesets
253 @project.reload
253 @project.reload
254 assert_equal 3, latin1_repo.changesets.count
254 assert_equal 3, latin1_repo.changesets.count
255
255
256 cs2 = latin1_repo.changesets.find_by_revision('2')
256 cs2 = latin1_repo.changesets.find_by_revision('2')
257 assert_not_nil cs2
257 assert_not_nil cs2
258 assert_equal "test-#{@char_1_utf8}", cs2.comments
258 assert_equal "test-#{@char_1_utf8}", cs2.comments
259 c2 = cs2.filechanges.sort_by(&:path)
259 c2 = cs2.filechanges.sort_by(&:path)
260 assert_equal 4, c2.size
260 assert_equal 4, c2.size
261 assert_equal 'A', c2[0].action
261 assert_equal 'A', c2[0].action
262 assert_equal "/test-#{@char_1_utf8}-dir/", c2[0].path
262 assert_equal "/test-#{@char_1_utf8}-dir/", c2[0].path
263 assert_equal 'A', c2[1].action
263 assert_equal 'A', c2[1].action
264 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", c2[1].path
264 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-1.txt", c2[1].path
265 assert_equal 'A', c2[2].action
265 assert_equal 'A', c2[2].action
266 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", c2[2].path
266 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", c2[2].path
267 assert_equal 'A', c2[3].action
267 assert_equal 'A', c2[3].action
268 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}.txt", c2[3].path
268 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}.txt", c2[3].path
269
269
270 cs3 = latin1_repo.changesets.find_by_revision('3')
270 cs3 = latin1_repo.changesets.find_by_revision('3')
271 assert_not_nil cs3
271 assert_not_nil cs3
272 assert_equal "modify, move and delete #{@char_1_utf8} files", cs3.comments
272 assert_equal "modify, move and delete #{@char_1_utf8} files", cs3.comments
273 c3 = cs3.filechanges.sort_by(&:path)
273 c3 = cs3.filechanges.sort_by(&:path)
274 assert_equal 3, c3.size
274 assert_equal 3, c3.size
275 assert_equal 'M', c3[0].action
275 assert_equal 'M', c3[0].action
276 assert_equal "/test-#{@char_1_utf8}-1.txt", c3[0].path
276 assert_equal "/test-#{@char_1_utf8}-1.txt", c3[0].path
277 assert_equal 'D', c3[1].action
277 assert_equal 'D', c3[1].action
278 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", c3[1].path
278 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}-2.txt", c3[1].path
279 assert_equal 'M', c3[2].action
279 assert_equal 'M', c3[2].action
280 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}.txt", c3[2].path
280 assert_equal "/test-#{@char_1_utf8}-dir/test-#{@char_1_utf8}.txt", c3[2].path
281 end
281 end
282 else
282 else
283 msg = "Bazaar non ASCII output test cannot run this environment." + "\n"
283 msg = "Bazaar non ASCII output test cannot run this environment." + "\n"
284 if msg.respond_to?(:force_encoding)
284 if msg.respond_to?(:force_encoding)
285 msg += "Encoding.locale_charmap: " + Encoding.locale_charmap + "\n"
285 msg += "Encoding.locale_charmap: " + Encoding.locale_charmap + "\n"
286 end
286 end
287 puts msg
287 puts msg
288 end
288 end
289
289
290 private
290 private
291
291
292 def create_latin1_repo
292 def create_latin1_repo
293 repo = Repository::Bazaar.create(
293 repo = Repository::Bazaar.create(
294 :project => @project,
294 :project => @project,
295 :identifier => 'latin1',
295 :identifier => 'latin1',
296 :url => REPOSITORY_PATH_NON_ASCII,
296 :url => REPOSITORY_PATH_NON_ASCII,
297 :log_encoding => 'ISO-8859-1'
297 :log_encoding => 'ISO-8859-1'
298 )
298 )
299 assert repo
299 assert repo
300 repo
300 repo
301 end
301 end
302 else
302 else
303 puts "Bazaar test repository NOT FOUND. Skipping unit tests !!!"
303 puts "Bazaar test repository NOT FOUND. Skipping unit tests !!!"
304 def test_fake; assert true end
304 def test_fake; assert true end
305 end
305 end
306 end
306 end
General Comments 0
You need to be logged in to leave comments. Login now