OrientationTest.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Writer\Mpdf;
  3. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  4. use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
  5. use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
  6. use PHPUnit\Framework\TestCase;
  7. class OrientationTest extends TestCase
  8. {
  9. private const INITARRAY = [
  10. [1, 2, 3, 4, 5],
  11. [6, 7, 8, 9, 10],
  12. [11, 12, 13, 14, 15],
  13. ];
  14. private static function setupSheet(): Spreadsheet
  15. {
  16. $spreadsheet = new Spreadsheet();
  17. $sheet1 = $spreadsheet->getActiveSheet();
  18. $sheet1->fromArray(self::INITARRAY);
  19. $sheet1->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
  20. $sheet2 = $spreadsheet->createSheet();
  21. $sheet2->fromArray(self::INITARRAY);
  22. $sheet2->getPageSetup()->setOrientation(PageSetup::ORIENTATION_PORTRAIT);
  23. $sheet3 = $spreadsheet->createSheet();
  24. $sheet3->fromArray(self::INITARRAY);
  25. $sheet3->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
  26. return $spreadsheet;
  27. }
  28. public static function testSheetOrientation(): void
  29. {
  30. $spreadsheet = self::setupSheet();
  31. $writer = new Mpdf($spreadsheet);
  32. //$writer->setOrientation( PageSetup::ORIENTATION_LANDSCAPE );
  33. $writer->writeAllSheets();
  34. $html = $writer->generateHtmlAll();
  35. self::assertSame(2, substr_count($html, 'size: landscape;'));
  36. self::assertSame(1, substr_count($html, 'size: portrait;'));
  37. $spreadsheet->disconnectWorksheets();
  38. }
  39. public static function testLandscape(): void
  40. {
  41. $spreadsheet = self::setupSheet();
  42. $writer = new Mpdf($spreadsheet);
  43. $writer->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
  44. $writer->writeAllSheets();
  45. $html = $writer->generateHtmlAll();
  46. self::assertSame(3, substr_count($html, 'size: landscape;'));
  47. self::assertSame(0, substr_count($html, 'size: portrait;'));
  48. $spreadsheet->disconnectWorksheets();
  49. }
  50. public static function testPortrait(): void
  51. {
  52. $spreadsheet = self::setupSheet();
  53. $writer = new Mpdf($spreadsheet);
  54. $writer->setOrientation(PageSetup::ORIENTATION_PORTRAIT);
  55. $writer->writeAllSheets();
  56. $html = $writer->generateHtmlAll();
  57. self::assertSame(0, substr_count($html, 'size: landscape;'));
  58. self::assertSame(3, substr_count($html, 'size: portrait;'));
  59. $spreadsheet->disconnectWorksheets();
  60. }
  61. }