22
33namespace PhpOffice \PhpSpreadsheetTests \Writer \Xlsx ;
44
5- use PHPUnit \Framework \TestCase ;
5+ use PhpOffice \PhpSpreadsheet \Spreadsheet ;
6+ use PhpOffice \PhpSpreadsheetTests \Functional \AbstractFunctional ;
67
7- class LocaleFloatsTest extends TestCase
8+ class LocaleFloatsTest extends AbstractFunctional
89{
910 /**
1011 * @var bool
@@ -16,6 +17,12 @@ class LocaleFloatsTest extends TestCase
1617 */
1718 private $ currentLocale ;
1819
20+ /** @var ?Spreadsheet */
21+ private $ spreadsheet ;
22+
23+ /** @var ?Spreadsheet */
24+ private $ reloadedSpreadsheet ;
25+
1926 protected function setUp (): void
2027 {
2128 $ this ->currentLocale = setlocale (LC_ALL , '0 ' );
@@ -34,6 +41,14 @@ protected function tearDown(): void
3441 if ($ this ->localeAdjusted && is_string ($ this ->currentLocale )) {
3542 setlocale (LC_ALL , $ this ->currentLocale );
3643 }
44+ if ($ this ->spreadsheet !== null ) {
45+ $ this ->spreadsheet ->disconnectWorksheets ();
46+ $ this ->spreadsheet = null ;
47+ }
48+ if ($ this ->reloadedSpreadsheet !== null ) {
49+ $ this ->reloadedSpreadsheet ->disconnectWorksheets ();
50+ $ this ->reloadedSpreadsheet = null ;
51+ }
3752 }
3853
3954 public function testLocaleFloatsCorrectlyConvertedByWriter (): void
@@ -42,18 +57,17 @@ public function testLocaleFloatsCorrectlyConvertedByWriter(): void
4257 self ::markTestSkipped ('Unable to set locale for testing. ' );
4358 }
4459
45- $ spreadsheet = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
60+ $ this ->spreadsheet = $ spreadsheet = new Spreadsheet ();
61+ $ properties = $ spreadsheet ->getProperties ();
62+ $ properties ->setCustomProperty ('Version ' , 1.2 );
4663 $ spreadsheet ->getActiveSheet ()->setCellValue ('A1 ' , 1.1 );
4764
48- $ filename = 'decimalcomma.xlsx ' ;
49- $ writer = new \PhpOffice \PhpSpreadsheet \Writer \Xlsx ($ spreadsheet );
50- $ writer ->save ($ filename );
51-
52- $ reader = new \PhpOffice \PhpSpreadsheet \Reader \Xlsx ();
53- $ spreadsheet = $ reader ->load ($ filename );
54- unlink ($ filename );
65+ $ this ->reloadedSpreadsheet = $ reloadedSpreadsheet = $ this ->writeAndReload ($ spreadsheet , 'Xlsx ' );
5566
56- $ result = $ spreadsheet ->getActiveSheet ()->getCell ('A1 ' )->getValue ();
67+ $ result = $ reloadedSpreadsheet ->getActiveSheet ()->getCell ('A1 ' )->getValue ();
68+ self ::assertEqualsWithDelta (1.1 , $ result , 1.0E-8 );
69+ $ prop = $ reloadedSpreadsheet ->getProperties ()->getCustomPropertyValue ('Version ' );
70+ self ::assertEqualsWithDelta (1.2 , $ prop , 1.0E-8 );
5771
5872 $ actual = sprintf ('%f ' , $ result );
5973 self ::assertStringContainsString ('1,1 ' , $ actual );
0 commit comments