NamespacePurlTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
  4. class NamespacePurlTest extends \PHPUnit\Framework\TestCase
  5. {
  6. /**
  7. * @var string
  8. */
  9. private static $testbook = 'tests/data/Reader/XLSX/namespacepurl.xlsx';
  10. public function testPreliminaries(): void
  11. {
  12. $file = 'zip://';
  13. $file .= self::$testbook;
  14. $file .= '#xl/workbook.xml';
  15. $data = file_get_contents($file);
  16. // confirm that file contains expected namespaced xml tag
  17. if ($data === false) {
  18. self::fail('Unable to read file');
  19. } else {
  20. self::assertStringContainsString('http://purl.oclc.org/ooxml/', $data);
  21. }
  22. }
  23. public function testPurlNamespace(): void
  24. {
  25. $filename = self::$testbook;
  26. $reader = new Xlsx();
  27. $actual = $reader->canRead($filename);
  28. self::assertTrue($actual);
  29. $sheets = $reader->listWorksheetNames($filename);
  30. self::assertEquals(['ml_out'], $sheets);
  31. $actual = $reader->listWorksheetInfo($filename);
  32. $expected = [
  33. [
  34. 'worksheetName' => 'ml_out',
  35. 'lastColumnLetter' => 'R',
  36. 'lastColumnIndex' => 17,
  37. 'totalRows' => '76',
  38. 'totalColumns' => 18,
  39. ],
  40. ];
  41. self::assertEquals($expected, $actual);
  42. }
  43. public function testPurlLoad(): void
  44. {
  45. $filename = self::$testbook;
  46. $reader = new Xlsx();
  47. $spreadsheet = $reader->load($filename);
  48. $sheet = $spreadsheet->getActiveSheet();
  49. self::assertSame('ml_out', $sheet->getTitle());
  50. self::assertSame('Item', $sheet->getCell('A1')->getValue());
  51. self::assertEquals(97.91, $sheet->getCell('G3')->getValue());
  52. }
  53. }