]> git.mxchange.org Git - friendica.git/commitdiff
adding test
authorPhilipp Holzer <admin@philipp.info>
Wed, 20 Feb 2019 16:20:17 +0000 (17:20 +0100)
committerPhilipp Holzer <admin@philipp.info>
Wed, 20 Feb 2019 16:20:17 +0000 (17:20 +0100)
src/Util/Profiler.php
tests/src/Util/ProfilerTest.php

index 115e75f7ba6ce44f97962fed9717653f3b19e62a..c8c56337180fd04100e1f3673c994bf08efde667 100644 (file)
@@ -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']);
+               }
        }
 
        /**
index f242fd43c5ebc6354dc011fd207f0f941638174a..8ceb59ea5eb9073ab4ea20a1370f2ddc20c923fd 100644 (file)
@@ -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());
        }
 }