Skip to content

Commit b449213

Browse files
committed
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!!!
1 parent 0ee3bdd commit b449213

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

lib/csv/fields_converter.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def convert(fields, headers, lineno)
5050
fields.collect.with_index do |field, index|
5151
if field.nil?
5252
field = @nil_value
53-
elsif field.empty?
53+
elsif field.is_a?(String) and field.empty?
5454
field = @empty_value unless @empty_value_is_empty_string
5555
end
5656
@converters.each do |converter|

test/csv/write/test_converters.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ def test_multiple
2020
end
2121

2222
def test_nil_value
23-
assert_equal(%Q[a,NaN,c\n],
24-
generate_line(["a", nil, "c"],
23+
assert_equal(%Q[a,NaN,29\n],
24+
generate_line(["a", nil, 29],
2525
write_nil_value: "NaN"))
2626
end
2727

2828
def test_empty_value
29-
assert_equal(%Q[a,,c\n],
30-
generate_line(["a", "", "c"],
29+
assert_equal(%Q[a,,29\n],
30+
generate_line(["a", "", 29],
3131
write_empty_value: nil))
3232
end
3333
end

0 commit comments

Comments
 (0)