Bug #9988 ยป csv-write-headers-empty-fix.diff
| lib/csv.rb | ||
|---|---|---|
|
# track our own lineno since IO gets confused about line-ends is CSV fields
|
||
|
@lineno = 0
|
||
|
# make sure headers have been assigned
|
||
|
if header_row? and [Array, String].include? @use_headers.class and @write_headers
|
||
|
parse_headers # won't read data for Array or String
|
||
|
self << @headers
|
||
|
end
|
||
|
end
|
||
|
#
|
||
| ... | ... | |
|
#
|
||
|
def <<(row)
|
||
|
# make sure headers have been assigned
|
||
|
if header_row? and [Array, String].include? @use_headers.class
|
||
|
if header_row? and [Array, String].include? @use_headers.class and !@write_headers
|
||
|
parse_headers # won't read data for Array or String
|
||
|
self << @headers if @write_headers
|
||
|
end
|
||
|
# handle CSV::Row objects and Hashes
|
||
| test/csv/test_interface.rb | ||
|---|---|---|
|
end
|
||
|
end
|
||
|
def test_write_headers_empty
|
||
|
File.unlink(@path)
|
||
|
CSV.open( @path, "wb", headers: "b|a|c",
|
||
|
write_headers: true,
|
||
|
col_sep: "|" ) do |csv|
|
||
|
end
|
||
|
File.open(@path, "rb") do |f|
|
||
|
assert_equal("b|a|c", f.gets.strip)
|
||
|
end
|
||
|
end
|
||
|
def test_append # aliased add_row() and puts()
|
||
|
File.unlink(@path)
|
||