Passed
Pull Request — master (#4313)
by Owen
13:05
created

AutoFilterTest::testPeriodInSheetNames()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 17
c 1
b 0
f 0
dl 0
loc 23
rs 9.7
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Writer\Ods;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
9
10
class AutoFilterTest extends AbstractFunctional
11
{
12
    public function testAutoFilterWriter(): void
13
    {
14
        $spreadsheet = new Spreadsheet();
15
        $worksheet = $spreadsheet->getActiveSheet();
16
17
        $dataSet = [
18
            ['Year', 'Quarter', 'Sales'],
19
            [2020, 'Q1', 100],
20
            [2020, 'Q2', 120],
21
            [2020, 'Q3', 140],
22
            [2020, 'Q4', 160],
23
            [2021, 'Q1', 180],
24
            [2021, 'Q2', 75],
25
            [2021, 'Q3', 0],
26
            [2021, 'Q4', 0],
27
        ];
28
        $worksheet->fromArray($dataSet, null, 'A1');
29
        $worksheet->getAutoFilter()->setRange('A1:C9');
30
31
        $reloaded = $this->writeAndReload($spreadsheet, 'Ods');
32
33
        self::assertSame('A1:C9', $reloaded->getActiveSheet()->getAutoFilter()->getRange());
34
    }
35
36
    public function testPeriodInSheetNames(): void
37
    {
38
        $spreadsheet = new Spreadsheet();
39
        $worksheet = $spreadsheet->getActiveSheet();
40
        $worksheet->setTitle('work.sheet');
41
42
        $dataSet = [
43
            ['Year', 'Quarter', 'Sales'],
44
            [2020, 'Q1', 100],
45
            [2020, 'Q2', 120],
46
            [2020, 'Q3', 140],
47
            [2020, 'Q4', 160],
48
            [2021, 'Q1', 180],
49
            [2021, 'Q2', 75],
50
            [2021, 'Q3', 0],
51
            [2021, 'Q4', 0],
52
        ];
53
        $worksheet->fromArray($dataSet, null, 'A1');
54
        $worksheet->getAutoFilter()->setRange('A1:C9');
55
56
        $reloaded = $this->writeAndReload($spreadsheet, 'Ods');
57
58
        self::assertSame('A1:C9', $reloaded->getActiveSheet()->getAutoFilter()->getRange());
59
    }
60
}
61