Files
PhpSpreadsheet/tests/PhpSpreadsheetTests/Reader/Html/ViewportTest.php
T
oleibman 4363de1b14 Permit Meta Viewport in Html (#3623)
Fix #3565. Requester suggested adding viewport as a property of Html Writer. I think it would fit better as a Document Property, so that it can be both read and written, just like other meta properties, making it easier to load an Html spreadsheet and save it as a new one preserving this property. It is an open question whether we should try to preserve this property when writing to other spreadsheet types, e.g. as a custom property for Xlsx. For now, I am not attempting that. Requester also suggested this as a boolean property, but there are other parameters and different values that might be used for viewport. So I am defining it as a string property, with a constant SUGGESTED_VIEWPORT that can be used for requester's use case.
2023-06-30 15:38:35 -07:00

45 lines
1.5 KiB
PHP

<?php
namespace PhpOffice\PhpSpreadsheetTests\Reader\Html;
use PhpOffice\PhpSpreadsheet\Document\Properties;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
class ViewportTest extends AbstractFunctional
{
public function testViewport(): void
{
$spreadsheetOld = new Spreadsheet();
$spreadsheetOld->getProperties()->setViewport(Properties::SUGGESTED_VIEWPORT);
$osheet = $spreadsheetOld->getActiveSheet();
$osheet->getCell('A1')->setValue(1);
$spreadsheet = $this->writeAndReload($spreadsheetOld, 'Html');
$spreadsheetOld->disconnectWorksheets();
$sheet = $spreadsheet->getActiveSheet();
self::assertSame(1, $sheet->getCell('A1')->getValue());
self::assertSame('width=device-width, initial-scale=1', $spreadsheet->getProperties()->getViewport());
$spreadsheet->disconnectWorksheets();
}
public function testNoViewport(): void
{
$spreadsheetOld = new Spreadsheet();
//$spreadsheetOld->getProperties()->setViewport(SUGGESTED_VIEWPORT);
$osheet = $spreadsheetOld->getActiveSheet();
$osheet->getCell('A1')->setValue(1);
$spreadsheet = $this->writeAndReload($spreadsheetOld, 'Html');
$spreadsheetOld->disconnectWorksheets();
$sheet = $spreadsheet->getActiveSheet();
self::assertSame(1, $sheet->getCell('A1')->getValue());
self::assertSame('', $spreadsheet->getProperties()->getViewport());
$spreadsheet->disconnectWorksheets();
}
}