Passed
Pull Request — master (#3482)
by Mark
11:29
created

testDirectorySeparatorWorksheetInfo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 10
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
4
5
use PhpOffice\PhpSpreadsheet\IOFactory;
6
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
7
use PHPUnit\Framework\TestCase;
8
9
class DirectorySeparatorTest extends TestCase
10
{
11
    /**
12
     * @dataProvider providerDirectorySeparator
13
     */
14
    public function testDirectorySeparatorIdentify(string $fileName): void
15
    {
16
        $filename = "tests/data/Reader/XLSX/{$fileName}";
17
        $reader = IOFactory::identify($filename);
18
19
        self::assertSame('Xlsx', $reader);
20
    }
21
22
    /**
23
     * @dataProvider providerDirectorySeparator
24
     */
25
    public function testDirectorySeparatorWorksheetNames(string $fileName): void
26
    {
27
        $filename = "tests/data/Reader/XLSX/{$fileName}";
28
        $reader = new Xlsx();
29
        $sheetList = $reader->listWorksheetNames($filename);
30
31
        self::assertCount(1, $sheetList);
32
        self::assertSame('Sheet', $sheetList[0]);
33
    }
34
35
    /**
36
     * @dataProvider providerDirectorySeparator
37
     */
38
    public function testDirectorySeparatorWorksheetInfo(string $fileName): void
39
    {
40
        $filename = "tests/data/Reader/XLSX/{$fileName}";
41
        $reader = new Xlsx();
42
        $sheetData = $reader->listWorksheetInfo($filename);
43
44
        self::assertCount(1, $sheetData);
45
        self::assertSame('Sheet', $sheetData[0]['worksheetName']);
46
        self::assertSame(3, (int) $sheetData[0]['totalRows']);
47
        self::assertSame(21, (int) $sheetData[0]['totalColumns']);
48
    }
49
50
    /**
51
     * @dataProvider providerDirectorySeparator
52
     */
53
    public function testDirectorySeparatorLoad(string $fileName): void
54
    {
55
        $filename = "tests/data/Reader/XLSX/{$fileName}";
56
        $reader = new Xlsx();
57
        $spreadsheet = $reader->load($filename);
58
59
        $cellValue = $spreadsheet->getActiveSheet()->getCell('A1')->getValue();
60
61
        self::assertSame('Key ID', $cellValue);
62
    }
63
64
    public function providerDirectorySeparator(): array
65
    {
66
        return [
67
            ['Zip-Linux-Directory-Separator.xlsx'],
68
            ['Zip-Windows-Directory-Separator.xlsx'],
69
        ];
70
    }
71
}
72