WithTitleTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace Maatwebsite\Excel\Tests\Concerns;
  3. use Maatwebsite\Excel\Concerns\Exportable;
  4. use Maatwebsite\Excel\Concerns\WithMultipleSheets;
  5. use Maatwebsite\Excel\Concerns\WithTitle;
  6. use Maatwebsite\Excel\Tests\Data\Stubs\WithTitleExport;
  7. use Maatwebsite\Excel\Tests\TestCase;
  8. class WithTitleTest extends TestCase
  9. {
  10. /**
  11. * @test
  12. */
  13. public function can_export_with_title()
  14. {
  15. $export = new WithTitleExport();
  16. $response = $export->store('with-title-store.xlsx');
  17. $this->assertTrue($response);
  18. $spreadsheet = $this->read(__DIR__ . '/../Data/Disks/Local/with-title-store.xlsx', 'Xlsx');
  19. $this->assertEquals('given-title', $spreadsheet->getProperties()->getTitle());
  20. $this->assertEquals('given-title', $spreadsheet->getActiveSheet()->getTitle());
  21. }
  22. /**
  23. * @test
  24. */
  25. public function can_export_sheet_title_when_longer_than_max_length()
  26. {
  27. $export = new class implements WithTitle, WithMultipleSheets
  28. {
  29. use Exportable;
  30. /**
  31. * @return string
  32. */
  33. public function title(): string
  34. {
  35. return '12/3456789123/45678912345/678912345/6789';
  36. }
  37. public function sheets(): array
  38. {
  39. return [$this];
  40. }
  41. };
  42. $response = $export->store('with-title-store.xlsx');
  43. $this->assertTrue($response);
  44. $spreadsheet = $this->read(__DIR__ . '/../Data/Disks/Local/with-title-store.xlsx', 'Xlsx');
  45. $this->assertEquals('12/3456789123/45678912345/678912345/6789', $spreadsheet->getProperties()->getTitle());
  46. $this->assertEquals('1234567891234567891234567891234', $spreadsheet->getActiveSheet()->getTitle());
  47. }
  48. }