diff options
Diffstat (limited to 'test/roo/test_csv.rb')
| -rw-r--r-- | test/roo/test_csv.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/roo/test_csv.rb b/test/roo/test_csv.rb new file mode 100644 index 0000000..c5e251d --- /dev/null +++ b/test/roo/test_csv.rb @@ -0,0 +1,60 @@ +require "test_helper" + +class TestRooCSV < Minitest::Test + def test_sheets + file = filename("numbers1") + workbook = roo_class.new(File.join(TESTDIR, file)) + assert_equal ["default"], workbook.sheets + assert_raises(RangeError) { workbook.default_sheet = "no_sheet" } + assert_raises(TypeError) { workbook.default_sheet = [1, 2, 3] } + workbook.sheets.each do |sh| + workbook.default_sheet = sh + assert_equal sh, workbook.default_sheet + end + end + + def test_nil_rows_and_lines_csv + # x_123 + oo = Roo::CSV.new(File.join(TESTDIR,'Bibelbund.csv')) + oo.default_sheet = oo.sheets.first + assert_equal 1, oo.first_row + assert_equal 3735, oo.last_row + assert_equal 1, oo.first_column + assert_equal 8, oo.last_column + end + + def test_empty_csv + # x_123 + oo = Roo::CSV.new(File.join(TESTDIR,'emptysheets.csv')) + oo.default_sheet = oo.sheets.first + assert_equal 1, oo.first_row + assert_equal 1, oo.last_row + assert_equal 1, oo.first_column + assert_equal 1, oo.last_column + end + + def test_csv_parsing_with_headers + return unless CSV + headers = ["TITEL", "VERFASSER", "OBJEKT", "NUMMER", "SEITE", "INTERNET", "PC", "KENNUNG"] + + oo = Roo::Spreadsheet.open(File.join(TESTDIR, "Bibelbund.csv")) + parsed = oo.parse(headers: true) + assert_equal headers, parsed[1].keys + end + + def test_iso_8859_1 + file = File.open(File.join(TESTDIR, "iso_8859_1.csv")) + options = { csv_options: { col_sep: ";", encoding: Encoding::ISO_8859_1 } } + workbook = Roo::CSV.new(file.path, options) + result = workbook.last_column + assert_equal(19, result) + end + + def roo_class + Roo::CSV + end + + def filename(name) + "#{name}.csv" + end +end |
