Passed
Pull Request — master (#4501)
by Owen
11:46
created

FontCharsetTest::tearDown()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 9
rs 10
cc 3
nc 4
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
9
10
class FontCharsetTest extends AbstractFunctional
11
{
12
    private ?Spreadsheet $spreadsheet = null;
13
14
    private ?Spreadsheet $reloadedSpreadsheet = null;
15
16
    protected function tearDown(): void
17
    {
18
        if ($this->spreadsheet !== null) {
19
            $this->spreadsheet->disconnectWorksheets();
20
            $this->spreadsheet = null;
21
        }
22
        if ($this->reloadedSpreadsheet !== null) {
23
            $this->reloadedSpreadsheet->disconnectWorksheets();
24
            $this->reloadedSpreadsheet = null;
25
        }
26
    }
27
28
    public function testFontCharset(): void
29
    {
30
        $spreadsheet = $this->spreadsheet = new Spreadsheet();
31
        $sheet = $this->spreadsheet->getActiveSheet();
32
        $sheet->getStyle('A1')->getFont()->setName('Nazanin');
33
        $spreadsheet->addFontCharset('Nazanin');
34
35
        $spreadsheet2 = $this->reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
36
        $sheet2 = $spreadsheet2->getActiveSheet();
37
        $sheet2->getStyle('B1')->getFont()->setName('B Nazanin');
38
        $sheet2->getStyle('C1')->getFont()->setName('C Nazanin');
39
        $sheet2->getStyle('D1')->getFont()->setName('D Nazanin');
40
        $spreadsheet2->addFontCharset('C Nazanin');
41
        // Do not add D Nazanin for this test.
42
        self::assertSame(
43
            [
44
                'B Nazanin' => 178, // default entry
45
                'Nazanin' => 178, // should have been set by Xlsx Reader
46
                'C Nazanin' => 178, // explicitly set in this test
47
            ],
48
            $spreadsheet2->getFontCharsets()
49
        );
50
    }
51
}
52