Merge pull request #19497 from eileenmcnaughton/534
[civicrm-core.git] / CRM / Utils / PDF / Utils.php
index 730bbc3d4448f726e2ca30f87f221c4d478cd932..526202cb7c1f907425d6e5f6d9bb8296d1222f99 100644 (file)
@@ -191,11 +191,17 @@ class CRM_Utils_PDF_Utils {
     if ($output) {
       return $dompdf->output();
     }
-    else {
-      // CRM-19183 remove .pdf extension from filename
-      $fileName = basename($fileName, ".pdf");
-      $dompdf->stream($fileName);
+    // CRM-19183 remove .pdf extension from filename
+    $fileName = basename($fileName, ".pdf");
+    if (CIVICRM_UF === 'UnitTests' && headers_sent()) {
+      // Streaming content will 'die' in unit tests unless ob_start()
+      // has been called.
+      throw new CRM_Core_Exception_PrematureExitException('_html2pdf_dompdf called', [
+        'html' => $html,
+        'fileName' => $fileName,
+      ]);
     }
+    $dompdf->stream($fileName);
   }
 
   /**