mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
40 lines
973 B
Ruby
40 lines
973 B
Ruby
# -*- coding: utf-8 -*-
|
|
# frozen_string_literal: false
|
|
|
|
require_relative "../helper"
|
|
|
|
class TestCSVParseRewind < Test::Unit::TestCase
|
|
extend DifferentOFS
|
|
|
|
def parse(data, **options)
|
|
csv = CSV.new(data, **options)
|
|
records = csv.to_a
|
|
csv.rewind
|
|
[records, csv.to_a]
|
|
end
|
|
|
|
def test_default
|
|
data = <<-CSV
|
|
Ruby,2.6.0,script
|
|
CSV
|
|
assert_equal([
|
|
[["Ruby", "2.6.0", "script"]],
|
|
[["Ruby", "2.6.0", "script"]],
|
|
],
|
|
parse(data))
|
|
end
|
|
|
|
def test_have_headers
|
|
data = <<-CSV
|
|
Language,Version,Type
|
|
Ruby,2.6.0,script
|
|
CSV
|
|
assert_equal([
|
|
[CSV::Row.new(["Language", "Version", "Type"],
|
|
["Ruby", "2.6.0", "script"])],
|
|
[CSV::Row.new(["Language", "Version", "Type"],
|
|
["Ruby", "2.6.0", "script"])],
|
|
],
|
|
parse(data, headers: true))
|
|
end
|
|
end
|