Passed
Pull Request — master (#3528)
by Owen
15:11
created

Issue1449Test::testDeleteColumns()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 28
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 28
rs 9.584
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests;
4
5
use PhpOffice\PhpSpreadsheet\Spreadsheet;
6
use PHPUnit\Framework\TestCase;
7
8
class Issue1449Test extends TestCase
9
{
10
    /** @var bool */
11
    private $skipTests = true;
12
13
    public function testDeleteColumns(): void
14
    {
15
        $spreadsheet = new Spreadsheet();
16
        $sheet1 = $spreadsheet->getActiveSheet();
17
        $sheet2 = $spreadsheet->createSheet();
18
        $sheet1->setTitle('Sheet1');
19
        $sheet2->setTitle('Sheet2');
20
        $sheet1->fromArray(
21
            [
22
                [3, 1, 2, 33, 1, 10, 20, 30, 40],
23
                [4, 2, 3, 23, 2, 10, 20, 30, 40],
24
                [5, 3, 4, 1, 3, 10, 20, 30, 40],
25
                [6, 4, 6, 4, 3, 10, 20, 30, 40],
26
                [7, 6, 6, 2, 2, 10, 20, 30, 40],
27
            ],
28
            null,
29
            'C1',
30
            true
31
        );
32
        $sheet1->getCell('A1')->setValue('=SUM(C4:F7)');
33
        $sheet2->getCell('A1')->setValue('=SUM(Sheet1!C3:G5)');
34
        $sheet1->removeColumn('F', 4);
35
        self::assertSame('=SUM(C4:E7)', $sheet1->getCell('A1')->getValue());
36
        if (!$this->skipTests) {
37
            // References on another sheet not working yet.
38
            self::assertSame('=Sheet1!SUM(C3:E5)', $sheet2->getCell('A1')->getValue());
39
        }
40
        $spreadsheet->disconnectWorksheets();
41
    }
42
43
    public function testDeleteRows(): void
44
    {
45
        $spreadsheet = new Spreadsheet();
46
        $sheet1 = $spreadsheet->getActiveSheet();
47
        $sheet2 = $spreadsheet->createSheet();
48
        $sheet1->setTitle('Sheet1');
49
        $sheet2->setTitle('Sheet2');
50
        $sheet1->fromArray(
51
            [
52
                [3, 1, 2, 33, 1, 10, 20, 30, 40],
53
                [4, 2, 3, 23, 2, 10, 20, 30, 40],
54
                [5, 3, 4, 1, 3, 10, 20, 30, 40],
55
                [6, 4, 6, 4, 3, 10, 20, 30, 40],
56
                [7, 6, 6, 2, 2, 10, 20, 30, 40],
57
            ],
58
            null,
59
            'C1',
60
            true
61
        );
62
        $sheet1->getCell('A1')->setValue('=SUM(C4:F7)');
63
        $sheet2->getCell('A1')->setValue('=SUM(Sheet1!C3:G5)');
64
        $sheet1->removeRow(4, 2);
65
        self::assertSame('=SUM(C4:F5)', $sheet1->getCell('A1')->getValue());
66
        if (!$this->skipTests) {
67
            // References on another sheet not working yet.
68
            self::assertSame('=Sheet1!SUM(C3:G3)', $sheet2->getCell('A1')->getValue());
69
        }
70
        $spreadsheet->disconnectWorksheets();
71
    }
72
}
73