Failed Conditions
Pull Request — master (#4127)
by Owen
15:28
created

RetainActiveSheetAndCellsTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A testRetain() 0 37 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
6
7
use PhpOffice\PhpSpreadsheet\Shared\File;
8
use PhpOffice\PhpSpreadsheet\Spreadsheet;
9
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
10
use PHPUnit\Framework\TestCase;
11
12
class RetainActiveSheetAndCellsTest extends TestCase
13
{
14
    public function testRetain(): void
15
    {
16
        $spreadsheet = new Spreadsheet();
17
        $sheet1 = $spreadsheet->getActiveSheet();
18
        $array = [
19
            [1, 2, 3, 4, 5],
20
            [11, 12, 13, 14, 15],
21
            [21, 22, 23, 24, 25],
22
            [31, 32, 33, 34, 35],
23
        ];
24
        $sheet1->fromArray($array);
25
        $sheet2 = $spreadsheet->createSheet();
26
        $sheet2->fromArray($array);
27
        $sheet3 = $spreadsheet->createSheet();
28
        $sheet3->fromArray($array);
29
        $sheet1->getStyle('A1')->getFont()->setName('Arial');
30
        $sheet2->getStyle('A1')->getFont()->setName('Arial');
31
        $sheet3->getStyle('A1')->getFont()->setName('Arial');
32
        $sheet1->getColumnDimension('A')->setAutoSize(true);
33
        $sheet2->getColumnDimension('A')->setAutoSize(true);
34
        $sheet3->getColumnDimension('A')->setAutoSize(true);
35
        $sheet1->setSelectedCells('B2');
36
        $sheet2->setSelectedCells('C3');
37
        $sheet3->setSelectedCells('D4');
38
        $spreadsheet->setActiveSheetIndex(1);
39
40
        $outfile = File::temporaryFilename();
41
        $writer = new XlsxWriter($spreadsheet);
42
        $writer->save($outfile);
43
        unlink($outfile);
44
45
        self::assertSame(1, $spreadsheet->getActiveSheetIndex());
46
        self::assertSame('B2', $spreadsheet->getSheet(0)->getSelectedCells());
47
        self::assertSame('C3', $spreadsheet->getSheet(1)->getSelectedCells());
48
        self::assertSame('D4', $spreadsheet->getSheet(2)->getSelectedCells());
49
50
        $spreadsheet->disconnectWorksheets();
51
    }
52
}
53