Passed
Pull Request — master (#4417)
by Owen
14:05
created

Issue4415Test::testPreliminaries()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 13
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
dl 0
loc 13
rs 9.9
c 1
b 0
f 0
cc 2
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
6
7
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
8
use PHPUnit\Framework\TestCase;
9
10
class Issue4415Test extends TestCase
11
{
12
    private static string $file = 'tests/data/Reader/XLSX/issue.4415.xlsx';
13
14
    public function testPreliminaries(): void
15
    {
16
        $file = 'zip://';
17
        $file .= self::$file;
18
        $file .= '#xl/drawings/drawing1.xml';
19
        $data = file_get_contents($file) ?: '';
20
        $expected = '<a:alpha val="72600"/>';
21
        self::assertStringContainsString($expected, $data);
22
        $expected = '<a:alpha val="90100"/>';
23
        self::assertStringContainsString($expected, $data);
24
        self::assertSame(2, substr_count($data, '<a:alpha '), 'number of drawings with alpha');
25
        self::assertSame(2, substr_count($data, '<xdr:oneCellAnchor>'), 'first 2 drawings');
26
        self::assertSame(1, substr_count($data, '<xdr:twoCellAnchor>'), 'third drawings');
27
    }
28
29
    public function testFractionalAlpha(): void
30
    {
31
        $file = self::$file;
32
        $reader = new XlsxReader();
33
        $spreadsheet = $reader->load($file);
34
        $sheet = $spreadsheet->getActiveSheet();
35
        $drawings = $sheet->getDrawingCollection();
36
        self::assertCount(3, $drawings);
37
        self::assertNotNull($drawings[0]);
38
        self::assertNotNull($drawings[1]);
39
        self::assertNotNull($drawings[2]);
40
        self::assertSame(50, $drawings[0]->getShadow()->getAlpha());
41
        self::assertSame(72, $drawings[1]->getShadow()->getAlpha());
42
        self::assertSame('', $drawings[1]->getCoordinates2(), 'one cell anchor');
43
        self::assertSame(90, $drawings[2]->getShadow()->getAlpha());
44
        self::assertNotEquals('', $drawings[2]->getCoordinates2(), 'two cell anchor');
45
        $spreadsheet->disconnectWorksheets();
46
    }
47
}
48