From 466f7a0ee5eb21dd54c0bea536d562fe1e8afb85 Mon Sep 17 00:00:00 2001
From: Philipp Holzer <admin@philipp.info>
Date: Wed, 20 Feb 2019 17:20:17 +0100
Subject: [PATCH] adding test

---
 src/Util/Profiler.php           | 16 ++++++++++++++--
 tests/src/Util/ProfilerTest.php | 20 ++++++++++++++++++++
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/Util/Profiler.php b/src/Util/Profiler.php
index 115e75f7ba..c8c5633718 100644
--- a/src/Util/Profiler.php
+++ b/src/Util/Profiler.php
@@ -32,6 +32,16 @@ class Profiler implements ContainerInterface
 	 */
 	private $rendertime;
 
+	/**
+	 * True, if the Profiler should measure the whole rendertime including functions
+	 *
+	 * @return bool
+	 */
+	public function isRendertime()
+	{
+		return $this->rendertime;
+	}
+
 	/**
 	 * @param bool $enabled           True, if the Profiler is enabled
 	 * @param bool $renderTime        True, if the Profiler should measure the whole rendertime including functions
@@ -207,8 +217,10 @@ class Profiler implements ContainerInterface
 			]
 		);
 
-		$output = $this->getRendertimeString();
-		$logger->info($message . ": " . $output, ['action' => 'profiling']);
+		if ($this->isRendertime()) {
+			$output = $this->getRendertimeString();
+			$logger->info($message . ": " . $output, ['action' => 'profiling']);
+		}
 	}
 
 	/**
diff --git a/tests/src/Util/ProfilerTest.php b/tests/src/Util/ProfilerTest.php
index f242fd43c5..8ceb59ea5e 100644
--- a/tests/src/Util/ProfilerTest.php
+++ b/tests/src/Util/ProfilerTest.php
@@ -177,5 +177,25 @@ class ProfilerTest extends MockedTest
 		}
 
 		$profiler->saveLog($this->logger, 'test');
+
+		$output = $profiler->getRendertimeString();
+
+		foreach ($data as $perf => $items) {
+			foreach ($items['functions'] as $function) {
+				// assert that the output contains the functions
+				$this->assertRegExp('/' . $function . ': \d+/', $output);
+			}
+		}
+	}
+
+	/**
+	 * Test if no rendertime is set
+	 */
+	public function testNoRenderTime()
+	{
+		$profiler = new Profiler(true, false);
+
+		$this->assertFalse($profiler->isRendertime());
+		self::assertEmpty($profiler->getRendertimeString());
 	}
 }
-- 
2.39.5