summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/excelx/cell/test_attr_reader_default.rb2
-rw-r--r--test/excelx/cell/test_number.rb2
-rw-r--r--test/files/expand_merged_ranges_issue_506.xlsxbin0 -> 8753 bytes
-rw-r--r--test/files/hidden_sheets.xlsxbin6152 -> 10296 bytes
-rw-r--r--test/files/merged_ranges.xlsxbin10596 -> 7622 bytes
-rw-r--r--test/files/richtext_example.xlsxbin0 -> 3566 bytes
-rw-r--r--test/roo/test_excelx.rb21
7 files changed, 24 insertions, 1 deletions
diff --git a/test/excelx/cell/test_attr_reader_default.rb b/test/excelx/cell/test_attr_reader_default.rb
index c1ae277..be2e562 100644
--- a/test/excelx/cell/test_attr_reader_default.rb
+++ b/test/excelx/cell/test_attr_reader_default.rb
@@ -60,7 +60,7 @@ class TestAttrReaderDefault < Minitest::Test
object.instance_variable_defined?(attr_name) ? object.instance_variable_get(attr_name) : nil
else
object.public_send(attr_name)
- end
+ end
if expected_value
assert_equal expected_value, value
diff --git a/test/excelx/cell/test_number.rb b/test/excelx/cell/test_number.rb
index 5c8d726..ddcffeb 100644
--- a/test/excelx/cell/test_number.rb
+++ b/test/excelx/cell/test_number.rb
@@ -66,6 +66,7 @@ class TestRooExcelxCellNumber < Minitest::Test
['0.000000000', '1042.000000000'],
['#,##0', '1,042'],
['#,##0.00', '1,042.00'],
+ ['#,##0.000', '1,042.000'],
['0%', '104200%'],
['0.00%', '104200.00%'],
['0.00E+00', '1.04E+03'],
@@ -74,6 +75,7 @@ class TestRooExcelxCellNumber < Minitest::Test
['#,##0.00;(#,##0.00)', '1,042.00'],
['#,##0.00;[Red](#,##0.00)', '1,042.00'],
['##0.0E+0', '1.0E+03'],
+ ["_-* #,##0.00\\ _€_-;\\-* #,##0.00\\ _€_-;_-* \"-\"??\\ _€_-;_-@_-", '1,042.00'],
['@', '1042']
].each do |style_format, result|
cell = Roo::Excelx::Cell::Number.new '1042', nil, [style_format], nil, nil, nil
diff --git a/test/files/expand_merged_ranges_issue_506.xlsx b/test/files/expand_merged_ranges_issue_506.xlsx
new file mode 100644
index 0000000..89527e7
--- /dev/null
+++ b/test/files/expand_merged_ranges_issue_506.xlsx
Binary files differ
diff --git a/test/files/hidden_sheets.xlsx b/test/files/hidden_sheets.xlsx
index 78eccaa..b61589c 100644
--- a/test/files/hidden_sheets.xlsx
+++ b/test/files/hidden_sheets.xlsx
Binary files differ
diff --git a/test/files/merged_ranges.xlsx b/test/files/merged_ranges.xlsx
index d8922bf..3709b5d 100644
--- a/test/files/merged_ranges.xlsx
+++ b/test/files/merged_ranges.xlsx
Binary files differ
diff --git a/test/files/richtext_example.xlsx b/test/files/richtext_example.xlsx
new file mode 100644
index 0000000..48dc1ee
--- /dev/null
+++ b/test/files/richtext_example.xlsx
Binary files differ
diff --git a/test/roo/test_excelx.rb b/test/roo/test_excelx.rb
index 90c7167..61161f0 100644
--- a/test/roo/test_excelx.rb
+++ b/test/roo/test_excelx.rb
@@ -133,6 +133,20 @@ class TestRworkbookExcelx < Minitest::Test
end
end
+ def test_expand_merged_range_doesnt_insert_nil_values
+ options = { expand_merged_ranges: true }
+ xlsx = roo_class.new(File.join(TESTDIR, "merged_ranges.xlsx"), options)
+
+ refute_includes xlsx.sheet_for(0).cells.values, nil, "`nil` was copied into the cells hash from an empty merged range"
+ end
+
+ def test_expand_merged_range_doesnt_raise_issue_506
+ # Issue 506 sent an example test.xlsx file that would raise an error upon parsing.
+ xl = Roo::Spreadsheet.open(File.join(TESTDIR, "expand_merged_ranges_issue_506.xlsx"), expand_merged_ranges: true)
+ data = xl.parse(one: /one/i, two: /two/i, clean: true)
+ assert_equal [{:one=>"John", :two=>"Johnson"}, {:one=>"Sam", :two=>nil}, {:one=>"Dave", :two=>nil}], data
+ end
+
def test_noexpand_merged_range
xlsx = roo_class.new(File.join(TESTDIR, "merged_ranges.xlsx"))
@@ -320,6 +334,13 @@ class TestRworkbookExcelx < Minitest::Test
end
end
+ def test_parsing_xlsx_with_richtext
+ xlsx = roo_class.new(File.join(TESTDIR, "richtext_example.xlsx"))
+
+ assert_equal "Example richtext", xlsx.cell("a", 1)
+ assert_equal "Example richtext", xlsx.cell("b", 1)
+ end
+
def roo_class
Roo::Excelx
end