Skip to content

Commit dc25bc1

Browse files
committed
Coverage Tweaks
1 parent 2d9375f commit dc25bc1

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ private function setRowAttributes(int $rowNumber, array $rowAttributes): void
8080
}
8181
}
8282

83-
public function load(?IReadFilter $readFilter = null, bool $readDataOnly = false, bool $ignoreRowsWithNoCells = false): void
83+
public function load(?IReadFilter $readFilter = null, bool $readDataOnly = false, bool $ignoreRowsWithNoCells = false): bool
8484
{
8585
if ($this->worksheetXml === null) {
86-
return;
86+
return false;
8787
}
8888
if ($readFilter !== null && $readFilter::class === DefaultReadFilter::class) {
8989
$readFilter = null;
@@ -127,6 +127,8 @@ public function load(?IReadFilter $readFilter = null, bool $readDataOnly = false
127127
}
128128
}
129129
}
130+
131+
return true;
130132
}
131133

132134
/** @param mixed[] $rowsAttributes */
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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 PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
9+
use PHPUnit\Framework\TestCase;
10+
11+
class OutlineTest extends TestCase
12+
{
13+
public function testOutline(): void
14+
{
15+
$filename = 'tests/data/Reader/XLSX/outline.xlsx';
16+
$reader = new XlsxReader();
17+
$spreadsheet = $reader->load($filename);
18+
$sheet = $spreadsheet->getActiveSheet();
19+
self::assertSame(0, $sheet->getRowDimension(1)->getOutlineLevel());
20+
self::assertSame(2, $sheet->getRowDimension(2)->getOutlineLevel());
21+
self::assertFalse($sheet->getRowDimension(2)->getCollapsed());
22+
self::assertTrue($sheet->getRowDimension(2)->getVisible());
23+
self::assertSame('=SUBTOTAL(9,B2:B4)', $sheet->getCell('B5')->getValue());
24+
self::assertSame(2, $sheet->getRowDimension(6)->getOutlineLevel());
25+
self::assertFalse($sheet->getRowDimension(6)->getCollapsed());
26+
self::assertFalse($sheet->getRowDimension(6)->getVisible());
27+
self::assertSame(1, $sheet->getRowDimension(8)->getOutlineLevel());
28+
self::assertTrue($sheet->getRowDimension(8)->getCollapsed());
29+
self::assertTrue($sheet->getRowDimension(8)->getVisible());
30+
$fake = new XlsxReader\ColumnAndRowAttributes($sheet, null);
31+
self::assertFalse($fake->load());
32+
$writer = new XlsxWriter($spreadsheet);
33+
$writerWorksheet = new XlsxWriter\Worksheet($writer);
34+
$data = $writerWorksheet->writeWorksheet($sheet, []);
35+
self::assertStringContainsString('<row r="7" spans="1:2" hidden="true" outlineLevel="2">', $data);
36+
self::assertStringContainsString('<row r="8" spans="1:2" collapsed="true" outlineLevel="1">', $data);
37+
$spreadsheet->disconnectWorksheets();
38+
}
39+
}
9.73 KB
Binary file not shown.

0 commit comments

Comments
 (0)