Files
PhpSpreadsheet/tests/PhpSpreadsheetTests/Functional/ColumnWidthTest.php
Adrien Crivelli 4e2259c135 BREAKING Worksheet::getRowDimension() and Worksheet::getColumnDimension() cannot return null anymore
Both methods used to optionally return null if passed a
second argument. This second argument was removed entirely and the
method always returns a RowDimension or ColumnDimension respectively
(possibly creating it if needed).

This make the API more predictable and easier to do static analysis
with tools such as PHPStan.

If you relied on that second parameter, you should instead use the
`Worksheet::getRowDimensions()` or `Worksheet::getColumnDimensions()` and
check for existence yourself before calling the getters.
2021-04-25 17:02:36 +09:00

44 lines
1.2 KiB
PHP

<?php
namespace PhpOffice\PhpSpreadsheetTests\Functional;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Worksheet\ColumnDimension;
class ColumnWidthTest extends AbstractFunctional
{
public function providerFormats(): array
{
return [
['Xlsx'],
];
}
/**
* @dataProvider providerFormats
*/
public function testReadColumnWidth($format): void
{
// create new sheet with column width
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$sheet->getColumnDimension('A')->setWidth(20);
$this->assertColumn($spreadsheet);
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
$this->assertColumn($reloadedSpreadsheet);
}
private function assertColumn(Spreadsheet $spreadsheet): void
{
$sheet = $spreadsheet->getActiveSheet();
$columnDimensions = $sheet->getColumnDimensions();
self::assertArrayHasKey('A', $columnDimensions);
$column = array_shift($columnDimensions);
self::assertInstanceOf(ColumnDimension::class, $column);
self::assertEquals(20, $column->getWidth());
}
}