XmlInfoTest.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xml;
  3. use PhpOffice\PhpSpreadsheet\Reader\Exception as ReaderException;
  4. use PhpOffice\PhpSpreadsheet\Reader\Xml;
  5. use PHPUnit\Framework\TestCase;
  6. class XmlInfoTest extends TestCase
  7. {
  8. public function testListNames(): void
  9. {
  10. $filename = __DIR__
  11. . '/../../../..'
  12. . '/samples/templates/excel2003.xml';
  13. $reader = new Xml();
  14. $names = $reader->listWorksheetNames($filename);
  15. self::assertCount(2, $names);
  16. self::assertEquals('Sample Data', $names[0]);
  17. self::assertEquals('Report Data', $names[1]);
  18. }
  19. public function testListNamesInvalidFile(): void
  20. {
  21. $this->expectException(ReaderException::class);
  22. $filename = __FILE__;
  23. $reader = new Xml();
  24. $names = $reader->listWorksheetNames($filename);
  25. self::assertNotEquals($names, $names);
  26. }
  27. public function testListInfo(): void
  28. {
  29. $filename = __DIR__
  30. . '/../../../..'
  31. . '/samples/templates/excel2003.xml';
  32. $reader = new Xml();
  33. $info = $reader->listWorksheetInfo($filename);
  34. $expected = [
  35. [
  36. 'worksheetName' => 'Sample Data',
  37. 'lastColumnLetter' => 'J',
  38. 'lastColumnIndex' => 9,
  39. 'totalRows' => 31,
  40. 'totalColumns' => 10,
  41. ],
  42. [
  43. 'worksheetName' => 'Report Data',
  44. 'lastColumnLetter' => 'I',
  45. 'lastColumnIndex' => 8,
  46. 'totalRows' => 15,
  47. 'totalColumns' => 9,
  48. ],
  49. ];
  50. self::assertEquals($expected, $info);
  51. }
  52. public function testListInfoInvalidFile(): void
  53. {
  54. $this->expectException(ReaderException::class);
  55. $filename = __FILE__;
  56. $reader = new Xml();
  57. $info = $reader->listWorksheetInfo($filename);
  58. self::assertNotEquals($info, $info);
  59. }
  60. public function testLoadInvalidFile(): void
  61. {
  62. $this->expectException(ReaderException::class);
  63. $filename = __FILE__;
  64. $reader = new Xml();
  65. $spreadsheet = $reader->load($filename);
  66. self::assertNotEquals($spreadsheet, $spreadsheet);
  67. }
  68. }