From 473810d256aea4c329c68e1ca3ea2ec6e2f47502 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 20 Jun 2025 11:59:00 +0200 Subject: [PATCH] add tests to support issue 4476 --- .../Reader/Ods/Issue4476Test.php | 25 +++++++++++++++++ .../Reader/Xlsx/Issue4476Test.php | 26 ++++++++++++++++++ tests/data/Reader/Ods/issue.4476.ods | Bin 0 -> 11544 bytes tests/data/Reader/XLSX/issue.4476.xlsx | Bin 0 -> 5238 bytes 4 files changed, 51 insertions(+) create mode 100644 tests/PhpSpreadsheetTests/Reader/Ods/Issue4476Test.php create mode 100644 tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4476Test.php create mode 100644 tests/data/Reader/Ods/issue.4476.ods create mode 100644 tests/data/Reader/XLSX/issue.4476.xlsx diff --git a/tests/PhpSpreadsheetTests/Reader/Ods/Issue4476Test.php b/tests/PhpSpreadsheetTests/Reader/Ods/Issue4476Test.php new file mode 100644 index 0000000000..7e3814a7a7 --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Ods/Issue4476Test.php @@ -0,0 +1,25 @@ +load($filename); + $sheet = $spreadsheet->getActiveSheet(); + $rawValue = $sheet->getCell('A1')->getValue(); + $dt = Date::excelToDateTimeObject($rawValue); + self::assertSame('2016-06-01 13:37', $dt->format('Y-m-d H:i')); + $spreadsheet->disconnectWorksheets(); + } +} diff --git a/tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4476Test.php b/tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4476Test.php new file mode 100644 index 0000000000..cc7b256f3f --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4476Test.php @@ -0,0 +1,26 @@ +load($filename); + $sheet = $spreadsheet->getActiveSheet(); + $rawValue = $sheet->getCell('A1')->getValue(); + $dt = Date::excelToDateTimeObject($rawValue); + + self::assertSame('2016-06-01 13:37', $dt->format('Y-m-d H:i')); + $spreadsheet->disconnectWorksheets(); + } +} diff --git a/tests/data/Reader/Ods/issue.4476.ods b/tests/data/Reader/Ods/issue.4476.ods new file mode 100644 index 0000000000000000000000000000000000000000..a14fcdfa38039b71ad87c404efe4f5205d6fa24c GIT binary patch literal 11544 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 literal 0 HcmV?d00001 diff --git a/tests/data/Reader/XLSX/issue.4476.xlsx b/tests/data/Reader/XLSX/issue.4476.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5b8399a3906e3370b2e74ccb5e70e5e2f0b6af14 GIT binary patch literal 5238 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 literal 0 HcmV?d00001