From 71557596eed1bb2f515c19c68b02d25452259c6f Mon Sep 17 00:00:00 2001
From: mattab <matthieu.aubry@gmail.com>
Date: Sat, 12 Apr 2014 16:43:18 +1200
Subject: [PATCH] Looking forward to dependency injection, this Config test
 overrides hacks are too hard to work with

---
 core/Plugin/Manager.php              | 1 +
 core/Translate.php                   | 3 +++
 tests/PHPUnit/TestingEnvironment.php | 1 +
 tests/PHPUnit/proxy/piwik.php        | 8 --------
 4 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php
index abecd45031..f59435b077 100644
--- a/core/Plugin/Manager.php
+++ b/core/Plugin/Manager.php
@@ -97,6 +97,7 @@ class Manager extends Singleton
         $pluginsTracker = array_diff($pluginsTracker, Tracker::getPluginsNotToLoad());
         if(defined('PIWIK_TEST_MODE')) {
             $pluginsTracker = array_intersect($pluginsTracker, $this->getPluginsToLoadDuringTests());
+            $pluginsTracker[] = 'DevicesDetection';
         }
         $this->doNotLoadAlwaysActivatedPlugins();
         $this->loadPlugins($pluginsTracker);
diff --git a/core/Translate.php b/core/Translate.php
index 011453796b..fecfbdf9c2 100644
--- a/core/Translate.php
+++ b/core/Translate.php
@@ -68,6 +68,9 @@ class Translate
 
     private static function loadCoreTranslationFile($language)
     {
+        if(empty($language)) {
+            return;
+        }
         $path = PIWIK_INCLUDE_PATH . '/lang/' . $language . '.json';
         if (!Filesystem::isValidFilename($language) || !is_readable($path)) {
             throw new Exception(Piwik::translate('General_ExceptionLanguageFileNotFound', array($language)));
diff --git a/tests/PHPUnit/TestingEnvironment.php b/tests/PHPUnit/TestingEnvironment.php
index c75f8c99ff..2d6a4240e8 100644
--- a/tests/PHPUnit/TestingEnvironment.php
+++ b/tests/PHPUnit/TestingEnvironment.php
@@ -130,6 +130,7 @@ class Piwik_TestingEnvironment
                     return $manager->isTrackerPlugin($manager->loadPlugin($plugin));
                 });
 
+                $trackerPluginsToLoad[] = 'DevicesDetection';
                 $config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad);
 
                 $log = $config->log;
diff --git a/tests/PHPUnit/proxy/piwik.php b/tests/PHPUnit/proxy/piwik.php
index 162fc9701f..6a3eec9a93 100755
--- a/tests/PHPUnit/proxy/piwik.php
+++ b/tests/PHPUnit/proxy/piwik.php
@@ -23,14 +23,6 @@ ob_start();
 
 Piwik_TestingEnvironment::addHooks();
 
-try {
-    $trackerPlugins = Config::getInstance()->Plugins_Tracker['Plugins_Tracker'];
-}catch(Exception $e) {
-    $trackerPlugins = array();
-}
-$trackerPlugins[] = 'DevicesDetection';
-Config::getInstance()->Plugins_Tracker['Plugins_Tracker'] = $trackerPlugins;
-
 GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files';
 
 Tracker::setTestEnvironment();
-- 
GitLab