Passed
Pull Request — master (#4153)
by Owen
13:53
created

ApplyStylesTest::testApplyStylesFromArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 25
c 1
b 0
f 0
dl 0
loc 27
rs 9.52
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Worksheet;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
9
use PHPUnit\Framework\TestCase;
10
11
class ApplyStylesTest extends TestCase
12
{
13
    public function testApplyFromArray(): void
14
    {
15
        $spreadsheet = new Spreadsheet();
16
        $sheet1 = $spreadsheet->getActiveSheet();
17
        $sheet2 = $spreadsheet->createSheet();
18
        $sheet3 = $spreadsheet->createSheet();
19
        $cell = 'B4';
20
        $sheet1->getCell($cell)->setValue('first');
21
        $sheet1->getStyle($cell)->getFont()->setName('Arial');
22
        $cell = 'C9';
23
        $sheet2->getCell($cell)->setValue('second');
24
        $sheet2->getStyle($cell)->getFont()->setName('Arial');
25
        $cell = 'A6';
26
        $sheet3->getCell($cell)->setValue('third');
27
        $sheet3->getStyle($cell)->getFont()->setName('Arial');
28
        self::assertSame(2, $spreadsheet->getActiveSheetIndex());
29
        self::assertSame('B4', $sheet1->getSelectedCells());
30
        self::assertSame('C9', $sheet2->getSelectedCells());
31
        self::assertSame('A6', $sheet3->getSelectedCells());
32
        $cell = 'D12';
33
        $styleArray = ['font' => ['name' => 'Courier New']];
34
        $sheet2->getStyle($cell)->applyFromArray($styleArray);
35
        self::assertSame(1, $spreadsheet->getActiveSheetIndex());
36
        self::assertSame('B4', $sheet1->getSelectedCells());
37
        self::assertSame('D12', $sheet2->getSelectedCells());
38
        self::assertSame('A6', $sheet3->getSelectedCells());
39
        $spreadsheet->disconnectWorksheets();
40
    }
41
42
    public function testApplyStylesFromArray(): void
43
    {
44
        $spreadsheet = new Spreadsheet();
45
        $sheet1 = $spreadsheet->getActiveSheet();
46
        $sheet2 = $spreadsheet->createSheet();
47
        $sheet3 = $spreadsheet->createSheet();
48
        $cell = 'B4';
49
        $sheet1->getCell($cell)->setValue('first');
50
        $sheet1->getStyle($cell)->getFont()->setName('Arial');
51
        $cell = 'C9';
52
        $sheet2->getCell($cell)->setValue('second');
53
        $sheet2->getStyle($cell)->getFont()->setName('Arial');
54
        $cell = 'A6';
55
        $sheet3->getCell($cell)->setValue('third');
56
        $sheet3->getStyle($cell)->getFont()->setName('Arial');
57
        self::assertSame(2, $spreadsheet->getActiveSheetIndex());
58
        self::assertSame('B4', $sheet1->getSelectedCells());
59
        self::assertSame('C9', $sheet2->getSelectedCells());
60
        self::assertSame('A6', $sheet3->getSelectedCells());
61
        $cell = 'D12';
62
        $styleArray = ['font' => ['name' => 'Courier New']];
63
        $sheet2->applyStylesFromArray($cell, $styleArray);
64
        self::assertSame(2, $spreadsheet->getActiveSheetIndex(), 'should be unchanged');
65
        self::assertSame('B4', $sheet1->getSelectedCells(), 'should be unchanged');
66
        self::assertSame('C9', $sheet2->getSelectedCells(), 'should be unchanged');
67
        self::assertSame('A6', $sheet3->getSelectedCells(), 'should be unchanged');
68
        $spreadsheet->disconnectWorksheets();
69
    }
70
71
    public function testNoSpreadsheet(): void
72
    {
73
        $sheet2 = new Worksheet();
74
        $cell = 'D12';
75
        self::assertFalse($sheet2->applyStylesFromArray($cell, ['font' => ['name' => 'Courier New']]));
76
    }
77
}
78