diff options
| author | 2017-06-12 03:37:11 -0400 | |
|---|---|---|
| committer | 2017-06-12 03:37:11 -0400 | |
| commit | 8280a21a23d44aa90177e2bc041d0b8dc8556f4b (patch) | |
| tree | dadef7ee085c0e990a5070bd41b6a5b98c97f4fd /test/helpers/test_sheets.rb | |
Import Upstream version 2.7.1upstream/2.7.1
Diffstat (limited to 'test/helpers/test_sheets.rb')
| -rw-r--r-- | test/helpers/test_sheets.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/helpers/test_sheets.rb b/test/helpers/test_sheets.rb new file mode 100644 index 0000000..aa18f6e --- /dev/null +++ b/test/helpers/test_sheets.rb @@ -0,0 +1,55 @@ +# NOTE: Putting these tests into modules in order to share them across different +# test classes, i.e. both TestRooExcelx and TestRooOpenOffice should run +# sheet related tests. +# +# This will allow me to reuse these test cases when I add new classes for +# Roo's future API. +# Sheet related tests +module TestSheets + def test_sheets + sheet_names = ["Tabelle1", "Name of Sheet 2", "Sheet3", "Sheet4", "Sheet5"] + with_each_spreadsheet(name: "numbers1") do |oo| + assert_equal sheet_names, oo.sheets + assert_raises(RangeError) { oo.default_sheet = "no_sheet" } + assert_raises(TypeError) { oo.default_sheet = [1, 2, 3] } + oo.sheets.each do |sheet_name| + oo.default_sheet = sheet_name + assert_equal sheet_name, oo.default_sheet + end + end + end + + def test_sheetname + bad_sheet_name = "non existing sheet name" + with_each_spreadsheet(name: "numbers1") do |oo| + oo.default_sheet = "Name of Sheet 2" + assert_equal "I am sheet 2", oo.cell("C", 5) + assert_raises(RangeError) { oo.default_sheet = bad_sheet_name } + assert_raises(RangeError) { oo.default_sheet = bad_sheet_name } + assert_raises(RangeError) { oo.cell("C", 5, bad_sheet_name) } + assert_raises(RangeError) { oo.celltype("C", 5, bad_sheet_name) } + assert_raises(RangeError) { oo.empty?("C", 5, bad_sheet_name) } + assert_raises(RangeError) { oo.formula?("C", 5, bad_sheet_name) } + assert_raises(RangeError) { oo.formula("C", 5, bad_sheet_name) } + assert_raises(RangeError) { oo.set("C", 5, 42, bad_sheet_name) } + assert_raises(RangeError) { oo.formulas(bad_sheet_name) } + assert_raises(RangeError) { oo.to_yaml({}, 1, 1, 1, 1, bad_sheet_name) } + end + end + + def test_info_doesnt_set_default_sheet + sheet_name = "Sheet3" + with_each_spreadsheet(name: "numbers1") do |oo| + oo.default_sheet = sheet_name + oo.info + assert_equal sheet_name, oo.default_sheet + end + end + + def test_bug_numbered_sheet_names + options = { name: "bug-numbered-sheet-names", format: :excelx } + with_each_spreadsheet(options) do |oo| + oo.each_with_pagename {} + end + end +end |
