2
2
3
3
namespace PhpOffice \PhpSpreadsheetTests \Writer \Xlsx ;
4
4
5
- use PHPUnit \Framework \TestCase ;
5
+ use PhpOffice \PhpSpreadsheet \Spreadsheet ;
6
+ use PhpOffice \PhpSpreadsheetTests \Functional \AbstractFunctional ;
6
7
7
- class LocaleFloatsTest extends TestCase
8
+ class LocaleFloatsTest extends AbstractFunctional
8
9
{
9
10
/**
10
11
* @var bool
@@ -16,6 +17,12 @@ class LocaleFloatsTest extends TestCase
16
17
*/
17
18
private $ currentLocale ;
18
19
20
+ /** @var ?Spreadsheet */
21
+ private $ spreadsheet ;
22
+
23
+ /** @var ?Spreadsheet */
24
+ private $ reloadedSpreadsheet ;
25
+
19
26
protected function setUp (): void
20
27
{
21
28
$ this ->currentLocale = setlocale (LC_ALL , '0 ' );
@@ -34,6 +41,14 @@ protected function tearDown(): void
34
41
if ($ this ->localeAdjusted && is_string ($ this ->currentLocale )) {
35
42
setlocale (LC_ALL , $ this ->currentLocale );
36
43
}
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
+ }
37
52
}
38
53
39
54
public function testLocaleFloatsCorrectlyConvertedByWriter (): void
@@ -42,18 +57,17 @@ public function testLocaleFloatsCorrectlyConvertedByWriter(): void
42
57
self ::markTestSkipped ('Unable to set locale for testing. ' );
43
58
}
44
59
45
- $ spreadsheet = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
60
+ $ this ->spreadsheet = $ spreadsheet = new Spreadsheet ();
61
+ $ properties = $ spreadsheet ->getProperties ();
62
+ $ properties ->setCustomProperty ('Version ' , 1.2 );
46
63
$ spreadsheet ->getActiveSheet ()->setCellValue ('A1 ' , 1.1 );
47
64
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 ' );
55
66
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 );
57
71
58
72
$ actual = sprintf ('%f ' , $ result );
59
73
self ::assertStringContainsString ('1,1 ' , $ actual );
0 commit comments