InvalidFileNameTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
  3. use PhpOffice\PhpSpreadsheet\Shared\File;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PhpOffice\PhpSpreadsheet\Worksheet\PageSetup;
  6. use PhpOffice\PhpSpreadsheet\Writer\Exception as WriterException;
  7. use PhpOffice\PhpSpreadsheet\Writer\Html;
  8. use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
  9. use PhpOffice\PhpSpreadsheetTests\Functional;
  10. class InvalidFileNameTest extends Functional\AbstractFunctional
  11. {
  12. public function testEmptyFileName(): void
  13. {
  14. $this->expectException(WriterException::class);
  15. $spreadsheet = new Spreadsheet();
  16. $spreadsheet->getActiveSheet()->getCell('A1')->setValue('Cell 1');
  17. $writer = new Html($spreadsheet);
  18. $writer->save('');
  19. }
  20. public function testEmptyFileNamePdf(): void
  21. {
  22. $this->expectException(WriterException::class);
  23. $spreadsheet = new Spreadsheet();
  24. $spreadsheet->getActiveSheet()->getCell('A1')->setValue('Cell 1');
  25. $writer = new Mpdf($spreadsheet);
  26. $writer->save('');
  27. }
  28. public function testNotEmptyTempdirNamePdf(): void
  29. {
  30. $spreadsheet = new Spreadsheet();
  31. $spreadsheet->getActiveSheet()->getCell('A1')->setValue('Cell 1');
  32. $writer = new Mpdf($spreadsheet);
  33. $writer->setFont('Helvetica');
  34. self::assertEquals('Helvetica', $writer->getFont());
  35. $writer->setPaperSize(PageSetup::PAPERSIZE_LEDGER);
  36. self::assertEquals($writer->getPaperSize(), PageSetup::PAPERSIZE_LEDGER);
  37. self::assertEquals(File::sysGetTempDir() . '/phpsppdf', $writer->getTempDir());
  38. $writer->setTempDir(File::sysGetTempDir());
  39. self::assertEquals(File::sysGetTempDir(), $writer->getTempDir());
  40. }
  41. public function testEmptyTempdirNamePdf(): void
  42. {
  43. $this->expectException(WriterException::class);
  44. $spreadsheet = new Spreadsheet();
  45. $spreadsheet->getActiveSheet()->getCell('A1')->setValue('Cell 1');
  46. $writer = new Mpdf($spreadsheet);
  47. $writer->setTempDir('');
  48. }
  49. public function testWinFileNames(): void
  50. {
  51. self::assertEquals('file:///C:/temp/filename.xlsx', Html::winFileToUrl('C:\\temp\filename.xlsx'));
  52. self::assertEquals('/tmp/filename.xlsx', Html::winFileToUrl('/tmp/filename.xlsx'));
  53. self::assertEquals('a:bfile', Html::winFileToUrl('a:bfile'));
  54. }
  55. }