111 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			111 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace PhpOffice\PhpSpreadsheetTests\Reader\Ods;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use PhpOffice\PhpSpreadsheet\Reader\Exception as ReaderException;
							 | 
						||
| 
								 | 
							
								use PhpOffice\PhpSpreadsheet\Reader\Ods;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @TODO The class doesn't read the bold/italic/underline properties (rich text)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class OdsInfoTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testReadFileProperties(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $filename = 'tests/data/Reader/Ods/data.ods';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Load into this instance
							 | 
						||
| 
								 | 
							
								        $reader = new Ods();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Test "listWorksheetNames" method
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        self::assertEquals([
							 | 
						||
| 
								 | 
							
								            'Sheet1',
							 | 
						||
| 
								 | 
							
								            'Second Sheet',
							 | 
						||
| 
								 | 
							
								        ], $reader->listWorksheetNames($filename));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testNoMimeType(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $filename = 'tests/data/Reader/Ods/nomimetype.ods';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Load into this instance
							 | 
						||
| 
								 | 
							
								        $reader = new Ods();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        self::assertTrue($reader->canRead($filename));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testReadBadFileProperties(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->expectException(ReaderException::class);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Load into this instance
							 | 
						||
| 
								 | 
							
								        $reader = new Ods();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Test "listWorksheetNames" method
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        self::assertEquals([
							 | 
						||
| 
								 | 
							
								            'Sheet1',
							 | 
						||
| 
								 | 
							
								            'Second Sheet',
							 | 
						||
| 
								 | 
							
								        ], $reader->listWorksheetNames(__FILE__));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testReadFileInfo(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $filename = 'tests/data/Reader/Ods/data.ods';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Load into this instance
							 | 
						||
| 
								 | 
							
								        $reader = new Ods();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Test "listWorksheetNames" method
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $wsinfo = $reader->listWorkSheetInfo($filename);
							 | 
						||
| 
								 | 
							
								        self::assertEquals([
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Sheet1',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'C',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 2,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 12,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 3,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Second Sheet',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'A',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 0,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 2,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 1,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								        ], $wsinfo);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testReadBadFileInfo(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->expectException(ReaderException::class);
							 | 
						||
| 
								 | 
							
								        $filename = __FILE__;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Load into this instance
							 | 
						||
| 
								 | 
							
								        $reader = new Ods();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Test "listWorksheetNames" method
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $wsinfo = $reader->listWorkSheetInfo($filename);
							 | 
						||
| 
								 | 
							
								        self::assertEquals([
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Sheet1',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'C',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 2,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 11,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 3,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Second Sheet',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'A',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 0,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 2,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 1,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								        ], $wsinfo);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |