95 lines
4.3 KiB
PHP
95 lines
4.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace PhpOffice\PhpSpreadsheetTests\Style;
|
||
|
|
||
|
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
|
||
|
class AlignmentTest extends TestCase
|
||
|
{
|
||
|
public function testAlignment(): void
|
||
|
{
|
||
|
$spreadsheet = new Spreadsheet();
|
||
|
$sheet = $spreadsheet->getActiveSheet();
|
||
|
$cell1 = $sheet->getCell('A1');
|
||
|
$cell1->setValue('Cell1');
|
||
|
$cell1->getStyle()->getAlignment()->setTextRotation(45);
|
||
|
self::assertEquals(45, $cell1->getStyle()->getAlignment()->getTextRotation());
|
||
|
$cell2 = $sheet->getCell('A2');
|
||
|
$cell2->setValue('Cell2');
|
||
|
$cell2->getStyle()->getAlignment()->setTextRotation(-45);
|
||
|
self::assertEquals(-45, $cell2->getStyle()->getAlignment()->getTextRotation());
|
||
|
// special value for stacked
|
||
|
$cell3 = $sheet->getCell('A3');
|
||
|
$cell3->setValue('Cell3');
|
||
|
$cell3->getStyle()->getAlignment()->setTextRotation(255);
|
||
|
self::assertEquals(-165, $cell3->getStyle()->getAlignment()->getTextRotation());
|
||
|
}
|
||
|
|
||
|
public function testRotationTooHigh(): void
|
||
|
{
|
||
|
$this->expectException(PhpSpreadsheetException::class);
|
||
|
$spreadsheet = new Spreadsheet();
|
||
|
$sheet = $spreadsheet->getActiveSheet();
|
||
|
$cell1 = $sheet->getCell('A1');
|
||
|
$cell1->setValue('Cell1');
|
||
|
$cell1->getStyle()->getAlignment()->setTextRotation(91);
|
||
|
self::assertEquals(0, $cell1->getStyle()->getAlignment()->getTextRotation());
|
||
|
}
|
||
|
|
||
|
public function testRotationTooLow(): void
|
||
|
{
|
||
|
$this->expectException(PhpSpreadsheetException::class);
|
||
|
$spreadsheet = new Spreadsheet();
|
||
|
$sheet = $spreadsheet->getActiveSheet();
|
||
|
$cell1 = $sheet->getCell('A1');
|
||
|
$cell1->setValue('Cell1');
|
||
|
$cell1->getStyle()->getAlignment()->setTextRotation(-91);
|
||
|
self::assertEquals(0, $cell1->getStyle()->getAlignment()->getTextRotation());
|
||
|
}
|
||
|
|
||
|
public function testHorizontal(): void
|
||
|
{
|
||
|
$spreadsheet = new Spreadsheet();
|
||
|
$sheet = $spreadsheet->getActiveSheet();
|
||
|
$cell1 = $sheet->getCell('A1');
|
||
|
$cell1->setValue('X');
|
||
|
$cell1->getStyle()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT)->setIndent(1);
|
||
|
self::assertEquals(Alignment::HORIZONTAL_LEFT, $cell1->getStyle()->getAlignment()->getHorizontal());
|
||
|
self::assertEquals(1, $cell1->getStyle()->getAlignment()->getIndent());
|
||
|
$cell2 = $sheet->getCell('A2');
|
||
|
$cell2->setValue('Y');
|
||
|
$cell2->getStyle()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_RIGHT)->setIndent(2);
|
||
|
self::assertEquals(Alignment::HORIZONTAL_RIGHT, $cell2->getStyle()->getAlignment()->getHorizontal());
|
||
|
self::assertEquals(2, $cell2->getStyle()->getAlignment()->getIndent());
|
||
|
$cell3 = $sheet->getCell('A3');
|
||
|
$cell3->setValue('Z');
|
||
|
// indent not supported for next style - changed to 0
|
||
|
$cell3->getStyle()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER_CONTINUOUS)->setIndent(3);
|
||
|
self::assertEquals(Alignment::HORIZONTAL_CENTER_CONTINUOUS, $cell3->getStyle()->getAlignment()->getHorizontal());
|
||
|
self::assertEquals(0, $cell3->getStyle()->getAlignment()->getIndent());
|
||
|
}
|
||
|
|
||
|
public function testReadOrder(): void
|
||
|
{
|
||
|
$spreadsheet = new Spreadsheet();
|
||
|
$sheet = $spreadsheet->getActiveSheet();
|
||
|
$cell1 = $sheet->getCell('A1');
|
||
|
$cell1->setValue('ABC');
|
||
|
$cell1->getStyle()->getAlignment()->setReadOrder(0);
|
||
|
self::assertEquals(0, $cell1->getStyle()->getAlignment()->getReadOrder());
|
||
|
$cell1->getStyle()->getAlignment()->setReadOrder(1);
|
||
|
self::assertEquals(1, $cell1->getStyle()->getAlignment()->getReadOrder());
|
||
|
// following not supported - zero is used instead
|
||
|
$cell1->getStyle()->getAlignment()->setReadOrder(-1);
|
||
|
self::assertEquals(0, $cell1->getStyle()->getAlignment()->getReadOrder());
|
||
|
$cell1->getStyle()->getAlignment()->setReadOrder(2);
|
||
|
self::assertEquals(2, $cell1->getStyle()->getAlignment()->getReadOrder());
|
||
|
// following not supported - zero is used instead
|
||
|
$cell1->getStyle()->getAlignment()->setReadOrder(3);
|
||
|
self::assertEquals(0, $cell1->getStyle()->getAlignment()->getReadOrder());
|
||
|
}
|
||
|
}
|