Passed
Push — master ( 8d8bc2...886a8c )
by
unknown
17:08 queued 09:10
created

Issue1324Test   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 27
dl 0
loc 36
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testPrecision() 0 17 2
A testCsv() 0 13 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Shared;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheet\Writer\Csv as CsvWriter;
9
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
10
11
class Issue1324Test extends AbstractFunctional
12
{
13
    protected static int $version = 80400;
14
15
    public function testPrecision(): void
16
    {
17
        $string1 = '753.149999999999';
18
        $s1 = (float) $string1;
19
        $spreadsheet = new Spreadsheet();
20
        $sheet = $spreadsheet->getActiveSheet();
21
        $sheet->getCell('A1')->setValue($s1);
22
        self::assertNotSame(753.15, $sheet->getCell('A1')->getValue());
23
        $formats = ['Csv', 'Xlsx', 'Xls', 'Ods', 'Html'];
24
        foreach ($formats as $format) {
25
            $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
26
            $rsheet = $reloadedSpreadsheet->getActiveSheet();
27
            $s2 = $rsheet->getCell('A1')->getValue();
28
            self::assertSame($s1, $s2, "difference for $format");
29
            $reloadedSpreadsheet->disconnectWorksheets();
30
        }
31
        $spreadsheet->disconnectWorksheets();
32
    }
33
34
    public function testCsv(): void
35
    {
36
        $string1 = '753.149999999999';
37
        $s1 = (float) $string1;
38
        $spreadsheet = new Spreadsheet();
39
        $sheet = $spreadsheet->getActiveSheet();
40
        $sheet->getCell('A1')->setValue($s1);
41
        $writer = new CsvWriter($spreadsheet);
42
        ob_start();
43
        $writer->save('php://output');
44
        $output = (string) ob_get_clean();
45
        self::assertStringContainsString($string1, $output);
46
        $spreadsheet->disconnectWorksheets();
47
    }
48
}
49