Passed
Pull Request — master (#4360)
by Owen
20:43
created

Issue4356Test::testIssue4356()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 26
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 20
c 2
b 0
f 0
dl 0
loc 26
rs 9.6
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
6
7
use PhpOffice\PhpSpreadsheet\NamedRange;
8
use PhpOffice\PhpSpreadsheet\Spreadsheet;
9
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
10
11
class Issue4356Test extends AbstractFunctional
12
{
13
    public function testIssue4356(): void
14
    {
15
        // Reader couldn't handle sheet title with apostrophe for defined name
16
        $originalSpreadsheet = new Spreadsheet();
17
        $originalSheet = $originalSpreadsheet->getActiveSheet();
18
        $originalSheet->setTitle("Goodn't sheet name");
19
        $originalSpreadsheet->addNamedRange(
20
            new NamedRange('CELLNAME', $originalSheet, '$A$1')
21
        );
22
        $originalSheet->setCellValue('A1', 'This is a named cell.');
23
        $originalSheet->getStyle('A1')->getFont()->setItalic(true);
24
        $spreadsheet = $this->writeAndReload($originalSpreadsheet, 'Xlsx');
25
        $originalSpreadsheet->disconnectWorksheets();
26
27
        $sheet = $spreadsheet->getActiveSheet();
28
        $sheet->setCellValue('C1', '=CELLNAME');
29
        self::assertSame('This is a named cell.', $sheet->getCell('C1')->getCalculatedValue());
30
        $namedRange2 = $spreadsheet->getNamedRange('CELLNAME');
31
        self::assertNotNull($namedRange2);
32
        $sheetx = $namedRange2->getWorksheet();
33
        self::assertNotNull($sheetx);
34
        $style = $sheetx->getStyle($namedRange2->getRange());
35
        self::assertTrue($style->getFont()->getItalic());
36
        $style->getFont()->setItalic(false);
37
38
        $spreadsheet->disconnectWorksheets();
39
    }
40
}
41