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());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |