Passed
Pull Request — master (#4377)
by Owen
13:50
created

Issue4375Test   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 31
c 1
b 0
f 0
dl 0
loc 45
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testDataOnly() 0 15 1
A testPreliminaries() 0 8 2
A testNormalRead() 0 14 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
6
7
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
8
use PHPUnit\Framework\TestCase;
9
10
class Issue4375Test extends TestCase
11
{
12
    private static string $file = 'tests/data/Reader/XLSX/issue.4375.small.xlsx';
13
14
    public function testPreliminaries(): void
15
    {
16
        $file = 'zip://';
17
        $file .= self::$file;
18
        $file .= '#xl/worksheets/sheet1.xml';
19
        $data = file_get_contents($file) ?: '';
20
        $expected = '<ignoredErrors><ignoredError sqref="A2:B5 B1:F1" numberStoredAsText="1"/></ignoredErrors>';
21
        self::assertStringContainsString($expected, $data);
22
    }
23
24
    public function testDataOnly(): void
25
    {
26
        $file = self::$file;
27
        $reader = new XlsxReader();
28
        $reader->setReadDataOnly(true);
29
        $spreadsheet = $reader->load($file);
30
        $sheet = $spreadsheet->getActiveSheet();
31
        self::assertSame('0', $sheet->getCell('A2')->getValue());
32
        self::assertFalse(
33
            $sheet->getCell('A2')
34
                ->getIgnoredErrors()
35
                ->getNumberStoredAsText()
36
        );
37
        self::assertFalse($sheet->cellExists('A3'));
38
        $spreadsheet->disconnectWorksheets();
39
    }
40
41
    public function testNormalRead(): void
42
    {
43
        $file = self::$file;
44
        $reader = new XlsxReader();
45
        $spreadsheet = $reader->load($file);
46
        $sheet = $spreadsheet->getActiveSheet();
47
        self::assertSame('0', $sheet->getCell('A2')->getValue());
48
        self::assertTrue(
49
            $sheet->getCell('A2')
50
                ->getIgnoredErrors()
51
                ->getNumberStoredAsText()
52
        );
53
        self::assertFalse($sheet->cellExists('A3'));
54
        $spreadsheet->disconnectWorksheets();
55
    }
56
}
57