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