rescue CSV::MalformedCSVError => e
flash.now[:error] = l(:error_invalid_csv_file_or_settings)
- rescue ArgumentError, Encoding::InvalidByteSequenceError => e
+ rescue ArgumentError, EncodingError => e
flash.now[:error] = l(:error_invalid_file_encoding, :encoding => ERB::Util.h(@import.settings['encoding']))
rescue SystemCallError => e
flash.now[:error] = l(:error_can_not_read_import_file)
assert_select 'div#flash_error', /not a valid UTF-8 encoded file/
end
+ def test_post_settings_with_invalid_encoding_should_display_error
+ import = generate_import('invalid-Shift_JIS.csv')
+
+ post :settings, :id => import.to_param,
+ :import_settings => {:separator => ";", :wrapper => '"', :encoding => "Shift_JIS"}
+ assert_response 200
+ import.reload
+ assert_nil import.total_items
+ assert_select 'div#flash_error', /not a valid Shift_JIS encoded file/
+ end
+
def test_get_mapping_should_display_mapping_form
import = generate_import('import_iso8859-1.csv')
import.settings = {'separator' => ";", 'wrapper' => '"', 'encoding' => "ISO-8859-1"}