1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 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
|