From 95c6e39ed9699fa5b21b0db524b76ca5db3fbf5c Mon Sep 17 00:00:00 2001 From: jlondonobo Date: Sat, 20 Apr 2024 16:03:28 -0500 Subject: [PATCH] Add test --- tests/empty_s_attribute.xlsx | Bin 0 -> 7700 bytes tests/test.rs | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/empty_s_attribute.xlsx diff --git a/tests/empty_s_attribute.xlsx b/tests/empty_s_attribute.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b4e934b848002c708da9ee6218689b5084b0be2b GIT binary patch literal 7700 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 literal 0 HcmV?d00001 diff --git a/tests/test.rs b/tests/test.rs index 8370d13..05d6e53 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -1897,3 +1897,26 @@ fn issue_391_shared_formula() { assert_eq!(expect.end(), res.end()); assert!(expect.cells().eq(res.cells())); } + +#[test] +fn issue_420_empty_s_attribute() { + setup(); + + let path = format!( + "{}/tests/empty_s_attribute.xlsx", + env!("CARGO_MANIFEST_DIR") + ); + let mut excel: Xlsx<_> = open_workbook(&path).unwrap(); + + let range = excel.worksheet_range("Sheet1").unwrap(); + range_eq!( + range, + [ + [String("Name".to_string()), String("Value".to_string())], + [String("John".to_string()), Float(1.)], + [String("Sophia".to_string()), Float(2.)], + [String("Peter".to_string()), Float(3.)], + [String("Sam".to_string()), Float(4.)], + ] + ); +}