From d1d9471e15b7303fef80542d81eeedb00655db24 Mon Sep 17 00:00:00 2001 From: Thomas Fussell Date: Fri, 22 Jul 2016 23:21:53 -0400 Subject: [PATCH] test opening bad files --- source/workbook/tests/test_read.hpp | 11 +++++++++++ source/worksheet/tests/test_worksheet.hpp | 4 ++-- tests/data/1_empty.txt | 0 tests/data/2_not-empty.txt | 1 + tests/data/3_empty.zip | Bin 0 -> 22 bytes tests/data/4_not-package.zip | Bin 0 -> 190 bytes tests/data/5_document.docx | Bin 0 -> 23175 bytes tests/data/6_presentation.pptx | Bin 0 -> 30395 bytes tests/data/7_excel-empty.xlsx | Bin 0 -> 20979 bytes 9 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 tests/data/1_empty.txt create mode 100644 tests/data/2_not-empty.txt create mode 100644 tests/data/3_empty.zip create mode 100644 tests/data/4_not-package.zip create mode 100644 tests/data/5_document.docx create mode 100644 tests/data/6_presentation.pptx create mode 100644 tests/data/7_excel-empty.xlsx diff --git a/source/workbook/tests/test_read.hpp b/source/workbook/tests/test_read.hpp index 34a0b782..c77bbad7 100644 --- a/source/workbook/tests/test_read.hpp +++ b/source/workbook/tests/test_read.hpp @@ -553,4 +553,15 @@ public: wb.load(path_helper::get_data_directory("/genuine/empty.xlsx")); TS_ASSERT_EQUALS(wb.get_sheet_by_index(0).get_cell("A1").get_value(), "This is cell A1 in Sheet 1"); } + + void test_determine_document_type() + { + xlnt::workbook wb; + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("1_empty.txt")), xlnt::invalid_file_error); + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("2_not-empty.txt")), xlnt::invalid_file_error); + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("3_empty.zip")), xlnt::invalid_file_error); + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("4_not-package.zip")), xlnt::invalid_file_error); + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("5_document.docx")), xlnt::invalid_file_error); + TS_ASSERT_THROWS(wb.load(path_helper::get_data_directory("6_presentation.pptx")), xlnt::invalid_file_error); + } }; diff --git a/source/worksheet/tests/test_worksheet.hpp b/source/worksheet/tests/test_worksheet.hpp index cb47a2eb..0d456442 100644 --- a/source/worksheet/tests/test_worksheet.hpp +++ b/source/worksheet/tests/test_worksheet.hpp @@ -1168,8 +1168,8 @@ public: } } - auto const_range = ws_const.get_range("B3:C7"); - auto const_range_iter = const_range.begin(); + const auto const_range = ws_const.get_range("B3:C7"); + auto const_range_iter = const_range.cbegin(); const_range_iter++; const_range_iter--; TS_ASSERT_EQUALS(const_range_iter, const_range.begin()); diff --git a/tests/data/1_empty.txt b/tests/data/1_empty.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/data/2_not-empty.txt b/tests/data/2_not-empty.txt new file mode 100644 index 00000000..041ecf26 --- /dev/null +++ b/tests/data/2_not-empty.txt @@ -0,0 +1 @@ +not-empty diff --git a/tests/data/3_empty.zip b/tests/data/3_empty.zip new file mode 100644 index 0000000000000000000000000000000000000000..15cb0ecb3e219d1701294bfdf0fe3f5cb5d208e7 GIT binary patch literal 22 NcmWIWW@Tf*000g10H*)| literal 0 HcmV?d00001 diff --git a/tests/data/4_not-package.zip b/tests/data/4_not-package.zip new file mode 100644 index 0000000000000000000000000000000000000000..d80e9910d0c22a6cbf7be52cf30926e22e4488ec GIT binary patch literal 190 zcmWIWW@h1H0D;&Y-#mggSDAr$Ak5Do!(bGjmtUfrnp;p(saH}_5*otEz?^h%Quy@; zlfp|YxEUB(zA`c}u!sPa!xeG`cr!A|G2=2+0;raO0jP^%Nh64bVFfG13N+&byjj^m O${B$$6i5eyI1B)*c_=dg literal 0 HcmV?d00001 diff --git a/tests/data/5_document.docx b/tests/data/5_document.docx new file mode 100644 index 0000000000000000000000000000000000000000..2d846668adc83a456532c9b6953f39e2af585853 GIT binary patch literal 23175 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 WSu9{o6bQr$Jgx#Nd74(cul@%kTE>w8 literal 0 HcmV?d00001 diff --git a/tests/data/7_excel-empty.xlsx b/tests/data/7_excel-empty.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1fad86ee3870ed56247392b73178d493cc6c83d6 GIT binary patch literal 20979 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 R7yyoge*qwT8)_bX`+qPY$o>ET literal 0 HcmV?d00001