Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Napoli <matthieu@mnapoli.fr>2015-06-19 13:13:03 +0300
committerMatthieu Napoli <matthieu@mnapoli.fr>2015-06-19 13:13:03 +0300
commit401f59d168d3a22b694170b9db32f4fe19b1dc5e (patch)
treec0142d424fd4436f657de477795078b1ace9b13f
parent7a23a898cac3694632542462a54dd8ebfcc7ba68 (diff)
Resolving a problem with global state messing up with tests
-rw-r--r--core/Menu/MenuAbstract.php16
-rw-r--r--tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php2
2 files changed, 15 insertions, 3 deletions
diff --git a/core/Menu/MenuAbstract.php b/core/Menu/MenuAbstract.php
index 1c8e7f9800..7651a1199d 100644
--- a/core/Menu/MenuAbstract.php
+++ b/core/Menu/MenuAbstract.php
@@ -55,9 +55,9 @@ abstract class MenuAbstract extends Singleton
*/
protected function getAllMenus()
{
-// if (!empty(self::$menus)) {
-// return self::$menus;
-// }
+ if (!empty(self::$menus)) {
+ return self::$menus;
+ }
self::$menus = PluginManager::getInstance()->findComponents('Menu', 'Piwik\\Plugin\\Menu');
@@ -65,6 +65,16 @@ abstract class MenuAbstract extends Singleton
}
/**
+ * To use only for tests.
+ *
+ * @deprecated The whole $menus cache should be replaced by a real transient cache
+ */
+ public static function clearMenus()
+ {
+ self::$menus = array();
+ }
+
+ /**
* Adds a new entry to the menu.
*
* @param string $menuName The menu's category name. Can be a translation token.
diff --git a/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php b/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php
index a523deda05..f931366ea5 100644
--- a/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php
+++ b/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php
@@ -11,6 +11,7 @@ namespace Piwik\Tests\Framework\TestCase;
use Piwik\Access;
use Piwik\Config;
use Piwik\Db;
+use Piwik\Menu\MenuAbstract;
use Piwik\Tests\Framework\Fixture;
use Piwik\Cache as PiwikCache;
use Piwik\Tests\Framework\TestingEnvironmentVariables;
@@ -88,6 +89,7 @@ abstract class IntegrationTestCase extends SystemTestCase
PiwikCache::getEagerCache()->flushAll();
PiwikCache::getTransientCache()->flushAll();
+ MenuAbstract::clearMenus();
}
/**