Passed
Push — master ( 115e39...72a36a )
by Mark
10:46
created

DefaultFillTest::testDefaultFill()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 21
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 16
c 0
b 0
f 0
nc 2
nop 0
dl 0
loc 21
rs 9.7333
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
4
5
use PhpOffice\PhpSpreadsheet\IOFactory;
6
use PHPUnit\Framework\TestCase;
7
8
class DefaultFillTest extends TestCase
9
{
10
    public function testDefaultFill(): void
11
    {
12
        // default fill pattern doesn't specify filltype
13
        $filename = 'tests/data/Reader/XLSX/pr1769g.py.xlsx';
14
        $file = 'zip://';
15
        $file .= $filename;
16
        $file .= '#xl/styles.xml';
17
        $data = file_get_contents($file);
18
        // confirm that file contains expected empty xml tag
19
        if ($data === false) {
20
            self::fail('Unable to read file');
21
        } else {
22
            self::assertStringContainsString('<patternFill/>', $data);
23
        }
24
        $reader = IOFactory::createReader('Xlsx');
25
        $spreadsheet = $reader->load($filename);
26
        $sheet = $spreadsheet->getActiveSheet();
27
        self::assertSame('none', $sheet->getCell('A1')->getStyle()->getFill()->getFillType());
28
        self::assertSame('none', $sheet->getCell('D4')->getStyle()->getFill()->getFillType());
29
        self::assertSame('none', $sheet->getCell('J16')->getStyle()->getFill()->getFillType());
30
        self::assertSame('solid', $sheet->getCell('C2')->getStyle()->getFill()->getFillType());
31
    }
32
33
    public function testDefaultConditionalFill(): void
34
    {
35
        // default fill pattern for a conditional style where the filltype is not defined
36
        $filename = 'tests/data/Reader/XLSX/pr2050cf-fill.xlsx';
37
        $reader = IOFactory::createReader('Xlsx');
38
        $spreadsheet = $reader->load($filename);
39
40
        $style = $spreadsheet->getActiveSheet()->getConditionalStyles('A1')[0]->getStyle();
41
        self::assertSame('solid', $style->getFill()->getFillType());
42
    }
43
}
44