Completed
Push — master ( cb1816...06d9dc )
by Adrien
08:00
created

ActiveSheetTest::testActiveSheet()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 44
Code Lines 31

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 31
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 44
rs 9.424
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Functional;
4
5
use PhpOffice\PhpSpreadsheet\Spreadsheet;
6
7
class ActiveSheetTest extends AbstractFunctional
8
{
9
    public function providerFormats()
10
    {
11
        return [
12
            ['Xls'],
13
        ];
14
    }
15
16
    /**
17
     * Test load file with correct active sheet.
18
     *
19
     * @dataProvider providerFormats
20
     *
21
     * @param string $format
22
     */
23
    public function testActiveSheet($format)
24
    {
25
        $spreadsheet = new Spreadsheet();
26
27
        $spreadsheet->setActiveSheetIndex(0)
28
            ->setTitle('Test1')
29
            ->setCellValue('D1', 1)
30
            ->setCellValue('D2', 2)
31
            ->setCellValue('D3', 3)
32
            ->setCellValue('D4', 4)
33
            ->setCellValue('D5', '=SUM(D1:D4)')
34
            ->setSelectedCell('B2');
35
36
        $spreadsheet->createSheet(1);
37
38
        $spreadsheet->setActiveSheetIndex(1)
39
            ->setTitle('Test2')
40
            ->setCellValue('D1', 4)
41
            ->setCellValue('E1', 3)
42
            ->setCellValue('F1', 2)
43
            ->setCellValue('G1', 1)
44
            ->setCellValue('H1', '=SUM(D1:G4)')
45
            ->setSelectedCells('A1:B2');
46
47
        $spreadsheet->createSheet(2);
48
49
        $spreadsheet->setActiveSheetIndex(2)
50
            ->setTitle('Test3')
51
            ->setCellValue('A1', 4)
52
            ->setCellValue('B1', 3)
53
            ->setCellValue('C1', 2)
54
            ->setCellValue('D1', 1)
55
            ->setCellValue('E1', '=SUM(A1:D4)')
56
            ->setSelectedCells('A1:D1');
57
58
        $spreadsheet->setActiveSheetIndex(1);
59
60
        $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
61
62
        // Original object.
63
        self::assertSame(1, $spreadsheet->getActiveSheetIndex());
64
65
        // Saved and reloaded file.
66
        self::assertSame(1, $reloadedSpreadsheet->getActiveSheetIndex());
67
    }
68
}
69