@@ -6,6 +6,10 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
6 | 6 | :issues, :time_entries, :users, :trackers, :enumerations, |
|
7 | 7 | :issue_statuses, :custom_fields, :custom_values |
|
8 | 8 | |
|
9 | def setup | |
|
10 | Setting.default_language = "en" | |
|
11 | end | |
|
12 | ||
|
9 | 13 | def test_report_at_project_level |
|
10 | 14 | get :report, :project_id => 'ecookbook' |
|
11 | 15 | assert_response :success |
@@ -143,4 +147,45 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
143 | 147 | # Total row |
|
144 | 148 | assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last |
|
145 | 149 | end |
|
150 | ||
|
151 | def test_csv_big_5 | |
|
152 | Setting.default_language = "zh-TW" | |
|
153 | str_utf8 = "\xe4\xb8\x80\xe6\x9c\x88" | |
|
154 | str_big5 = "\xa4@\xa4\xeb" | |
|
155 | if str_utf8.respond_to?(:force_encoding) | |
|
156 | str_utf8.force_encoding('UTF-8') | |
|
157 | str_big5.force_encoding('Big5') | |
|
158 | end | |
|
159 | user = User.find_by_id(3) | |
|
160 | user.firstname = str_utf8 | |
|
161 | user.lastname = "test-lastname" | |
|
162 | assert user.save | |
|
163 | comments = "test_csv_big_5" | |
|
164 | te1 = TimeEntry.create(:spent_on => '2011-11-11', | |
|
165 | :hours => 7.3, | |
|
166 | :project => Project.find(1), | |
|
167 | :user => user, | |
|
168 | :activity => TimeEntryActivity.find_by_name('Design'), | |
|
169 | :comments => comments) | |
|
170 | ||
|
171 | te2 = TimeEntry.find_by_comments(comments) | |
|
172 | assert_not_nil te2 | |
|
173 | assert_equal 7.3, te2.hours | |
|
174 | assert_equal 3, te2.user_id | |
|
175 | ||
|
176 | get :report, :project_id => 1, :columns => 'day', | |
|
177 | :from => "2011-11-11", :to => "2011-11-11", | |
|
178 | :criterias => ["member"], :format => "csv" | |
|
179 | assert_response :success | |
|
180 | assert_equal 'text/csv', @response.content_type | |
|
181 | lines = @response.body.chomp.split("\n") | |
|
182 | # Headers | |
|
183 | s1 = "\xa6\xa8\xad\xfb,2011-11-11,\xc1`\xadp" | |
|
184 | if s1.respond_to?(:force_encoding) | |
|
185 | s1.force_encoding('Big5') | |
|
186 | end | |
|
187 | assert_equal s1, lines.first | |
|
188 | # Total row | |
|
189 | assert_equal "#{str_big5} #{user.lastname},7.30,7.30", lines[1] | |
|
190 | end | |
|
146 | 191 | end |
General Comments 0
You need to be logged in to leave comments.
Login now