From 40a6b502ae87408fe74121208539647a3bd62d8f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alberto=20Lara=20Hern=C3=A1ndez?= Date: Thu, 13 Jun 2019 22:34:37 +0200 Subject: [PATCH] MDL-65919 core: Skip send headers during phpunit exec in dataformats --- lib/classes/dataformat/base.php | 2 +- lib/classes/dataformat/spout_base.php | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/classes/dataformat/base.php b/lib/classes/dataformat/base.php index d00e46f537c..b9682b92a84 100644 --- a/lib/classes/dataformat/base.php +++ b/lib/classes/dataformat/base.php @@ -76,7 +76,7 @@ abstract class base { * Output file headers to initialise the download of the file. */ public function send_http_headers() { - if (defined('BEHAT_SITE_RUNNING')) { + if (defined('BEHAT_SITE_RUNNING') || PHPUNIT_TEST) { // For text based formats - we cannot test the output with behat if we force a file download. return; } diff --git a/lib/classes/dataformat/spout_base.php b/lib/classes/dataformat/spout_base.php index f7d8a74d9bd..55947ef67e7 100644 --- a/lib/classes/dataformat/spout_base.php +++ b/lib/classes/dataformat/spout_base.php @@ -56,7 +56,11 @@ abstract class spout_base extends \core\dataformat\base { $this->writer->setTempFolder(make_request_directory()); } $filename = $this->filename . $this->get_extension(); - $this->writer->openToBrowser($filename); + if (PHPUNIT_TEST) { + $this->writer->openToFile('php://output'); + } else { + $this->writer->openToBrowser($filename); + } // By default one sheet is always created, but we want to rename it when we call start_sheet(). $this->renamecurrentsheet = true; -- 2.43.0