76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace PhpOffice\PhpSpreadsheetTests\Reader\Xml;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use PhpOffice\PhpSpreadsheet\Reader\Exception as ReaderException;
							 | 
						||
| 
								 | 
							
								use PhpOffice\PhpSpreadsheet\Reader\Xml;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class XmlInfoTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testListNames(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $filename = __DIR__
							 | 
						||
| 
								 | 
							
								            . '/../../../..'
							 | 
						||
| 
								 | 
							
								            . '/samples/templates/excel2003.xml';
							 | 
						||
| 
								 | 
							
								        $reader = new Xml();
							 | 
						||
| 
								 | 
							
								        $names = $reader->listWorksheetNames($filename);
							 | 
						||
| 
								 | 
							
								        self::assertCount(2, $names);
							 | 
						||
| 
								 | 
							
								        self::assertEquals('Sample Data', $names[0]);
							 | 
						||
| 
								 | 
							
								        self::assertEquals('Report Data', $names[1]);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testListNamesInvalidFile(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->expectException(ReaderException::class);
							 | 
						||
| 
								 | 
							
								        $filename = __FILE__;
							 | 
						||
| 
								 | 
							
								        $reader = new Xml();
							 | 
						||
| 
								 | 
							
								        $names = $reader->listWorksheetNames($filename);
							 | 
						||
| 
								 | 
							
								        self::assertNotEquals($names, $names);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testListInfo(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $filename = __DIR__
							 | 
						||
| 
								 | 
							
								            . '/../../../..'
							 | 
						||
| 
								 | 
							
								            . '/samples/templates/excel2003.xml';
							 | 
						||
| 
								 | 
							
								        $reader = new Xml();
							 | 
						||
| 
								 | 
							
								        $info = $reader->listWorksheetInfo($filename);
							 | 
						||
| 
								 | 
							
								        $expected = [
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Sample Data',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'J',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 9,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 31,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 10,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                'worksheetName' => 'Report Data',
							 | 
						||
| 
								 | 
							
								                'lastColumnLetter' => 'I',
							 | 
						||
| 
								 | 
							
								                'lastColumnIndex' => 8,
							 | 
						||
| 
								 | 
							
								                'totalRows' => 15,
							 | 
						||
| 
								 | 
							
								                'totalColumns' => 9,
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								        ];
							 | 
						||
| 
								 | 
							
								        self::assertEquals($expected, $info);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testListInfoInvalidFile(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->expectException(ReaderException::class);
							 | 
						||
| 
								 | 
							
								        $filename = __FILE__;
							 | 
						||
| 
								 | 
							
								        $reader = new Xml();
							 | 
						||
| 
								 | 
							
								        $info = $reader->listWorksheetInfo($filename);
							 | 
						||
| 
								 | 
							
								        self::assertNotEquals($info, $info);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testLoadInvalidFile(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->expectException(ReaderException::class);
							 | 
						||
| 
								 | 
							
								        $filename = __FILE__;
							 | 
						||
| 
								 | 
							
								        $reader = new Xml();
							 | 
						||
| 
								 | 
							
								        $spreadsheet = $reader->load($filename);
							 | 
						||
| 
								 | 
							
								        self::assertNotEquals($spreadsheet, $spreadsheet);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |