Browse Source

Fix: ImportsControllerTest fails with csv gem 1.0.2 (#28689).

Patch by Go MAEDA.


git-svn-id: http://svn.redmine.org/redmine/trunk@17326 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.0.0
Go MAEDA 6 years ago
parent
commit
350a2e3782
2 changed files with 8 additions and 5 deletions
  1. 1
    1
      Gemfile
  2. 7
    4
      app/controllers/imports_controller.rb

+ 1
- 1
Gemfile View File

@@ -13,7 +13,7 @@ gem "roadie-rails", "~> 1.2.1"
gem "roadie", "~> 3.2.1"
gem "mimemagic"
gem "mail", "~> 2.6.4"
gem "csv", "~> 1.0.1" if RUBY_VERSION >= "2.5"
gem "csv", "~> 1.0.2" if RUBY_VERSION >= "2.3"

gem "nokogiri", "~> 1.8.0"
gem "i18n", "~> 0.7.0"

+ 7
- 4
app/controllers/imports_controller.rb View File

@@ -50,10 +50,13 @@ class ImportsController < ApplicationController
redirect_to import_mapping_path(@import)
end

rescue CSV::MalformedCSVError => e
flash.now[:error] = l(:error_invalid_csv_file_or_settings)
rescue ArgumentError, EncodingError => e
flash.now[:error] = l(:error_invalid_file_encoding, :encoding => ERB::Util.h(@import.settings['encoding']))
# TODO: Remove ArgumentError when support for Ruby 2.2 is dropped (#28689)
rescue CSV::MalformedCSVError, ArgumentError, EncodingError => e
if e.is_a?(CSV::MalformedCSVError) && e.message !~ /Invalid byte sequence/
flash.now[:error] = l(:error_invalid_csv_file_or_settings)
else
flash.now[:error] = l(:error_invalid_file_encoding, :encoding => ERB::Util.h(@import.settings['encoding']))
end
rescue SystemCallError => e
flash.now[:error] = l(:error_can_not_read_import_file)
end

Loading…
Cancel
Save