[ruby/csv] Fix a bug that write_nil_value or write_empty_value don't work with non String

GitHub: fix GH-123

Reported by asm256. Thanks!!!

https://github.com/ruby/csv/commit/b4492139be
This commit is contained in:
Sutou Kouhei 2020-05-17 11:51:06 +09:00 коммит произвёл Nobuyoshi Nakada
Родитель 5359121a56
Коммит b8084b5cb4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -50,7 +50,7 @@ class CSV
fields.collect.with_index do |field, index|
if field.nil?
field = @nil_value
elsif field.empty?
elsif field.is_a?(String) and field.empty?
field = @empty_value unless @empty_value_is_empty_string
end
@converters.each do |converter|

Просмотреть файл

@ -20,14 +20,14 @@ module TestCSVWriteConverters
end
def test_nil_value
assert_equal(%Q[a,NaN,c\n],
generate_line(["a", nil, "c"],
assert_equal(%Q[a,NaN,29\n],
generate_line(["a", nil, 29],
write_nil_value: "NaN"))
end
def test_empty_value
assert_equal(%Q[a,,c\n],
generate_line(["a", "", "c"],
assert_equal(%Q[a,,29\n],
generate_line(["a", "", 29],
write_empty_value: nil))
end
end