]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/Updater/UpdaterTest.php
ConfigManager no longer uses singleton pattern
[github/shaarli/Shaarli.git] / tests / Updater / UpdaterTest.php
index 04883a463dad01c28ad376ec853b170b654df868..5ed2df6caff8527877a594b0213eb49ec050b597 100644 (file)
@@ -29,8 +29,7 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
      */
     public function setUp()
     {
-        ConfigManager::$CONFIG_FILE = self::$configFile;
-        $this->conf = ConfigManager::reset();
+        $this->conf = new ConfigManager(self::$configFile);
     }
 
     /**
@@ -108,10 +107,10 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
             'updateMethodDummy3',
             'updateMethodException',
         );
-        $updater = new DummyUpdater($updates, array(), true);
+        $updater = new DummyUpdater($updates, array(), $this->conf, true);
         $this->assertEquals(array(), $updater->update());
 
-        $updater = new DummyUpdater(array(), array(), false);
+        $updater = new DummyUpdater(array(), array(), $this->conf, false);
         $this->assertEquals(array(), $updater->update());
     }
 
@@ -126,7 +125,7 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
             'updateMethodDummy2',
             'updateMethodDummy3',
         );
-        $updater = new DummyUpdater($updates, array(), true);
+        $updater = new DummyUpdater($updates, array(), $this->conf, true);
         $this->assertEquals($expectedUpdates, $updater->update());
     }
 
@@ -142,7 +141,7 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
         );
         $expectedUpdate = array('updateMethodDummy2');
 
-        $updater = new DummyUpdater($updates, array(), true);
+        $updater = new DummyUpdater($updates, array(), $this->conf, true);
         $this->assertEquals($expectedUpdate, $updater->update());
     }
 
@@ -159,7 +158,7 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
             'updateMethodDummy3',
         );
 
-        $updater = new DummyUpdater($updates, array(), true);
+        $updater = new DummyUpdater($updates, array(), $this->conf, true);
         $updater->update();
     }
 
@@ -172,8 +171,8 @@ class UpdaterTest extends PHPUnit_Framework_TestCase
      */
     public function testUpdateMergeDeprecatedConfig()
     {
-        ConfigManager::$CONFIG_FILE = 'tests/utils/config/configPhp';
-        $this->conf = $this->conf->reset();
+        $this->conf->setConfigFile('tests/utils/config/configPhp');
+        $this->conf->reset();
 
         $optionsFile = 'tests/Updater/options.php';
         $options = '<?php
@@ -181,10 +180,10 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
         file_put_contents($optionsFile, $options);
 
         // tmp config file.
-        ConfigManager::$CONFIG_FILE = 'tests/Updater/config';
+        $this->conf->setConfigFile('tests/Updater/config');
 
         // merge configs
-        $updater = new Updater(array(), array(), true);
+        $updater = new Updater(array(), array(), $this->conf, true);
         // This writes a new config file in tests/Updater/config.php
         $updater->updateMethodMergeDeprecatedConfigFile();
 
@@ -193,7 +192,7 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
         $this->assertTrue($this->conf->get('general.default_private_links'));
         $this->assertFalse(is_file($optionsFile));
         // Delete the generated file.
-        unlink($this->conf->getConfigFile());
+        unlink($this->conf->getConfigFileExt());
     }
 
     /**
@@ -201,7 +200,7 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
      */
     public function testMergeDeprecatedConfigNoFile()
     {
-        $updater = new Updater(array(), array(), true);
+        $updater = new Updater(array(), array(), $this->conf, true);
         $updater->updateMethodMergeDeprecatedConfigFile();
 
         $this->assertEquals('root', $this->conf->get('credentials.login'));
@@ -216,7 +215,7 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
         $refDB->write(self::$testDatastore);
         $linkDB = new LinkDB(self::$testDatastore, true, false);
         $this->assertEmpty($linkDB->filterSearch(array('searchtags' => 'exclude')));
-        $updater = new Updater(array(), $linkDB, true);
+        $updater = new Updater(array(), $linkDB, $this->conf, true);
         $updater->updateMethodRenameDashTags();
         $this->assertNotEmpty($linkDB->filterSearch(array('searchtags' =>  'exclude')));
     }
@@ -227,29 +226,29 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
     public function testConfigToJson()
     {
         $configFile = 'tests/utils/config/configPhp';
-        ConfigManager::$CONFIG_FILE = $configFile;
-        $conf = ConfigManager::reset();
+        $this->conf->setConfigFile($configFile);
+        $this->conf->reset();
 
         // The ConfigIO is initialized with ConfigPhp.
-        $this->assertTrue($conf->getConfigIO() instanceof ConfigPhp);
+        $this->assertTrue($this->conf->getConfigIO() instanceof ConfigPhp);
 
-        $updater = new Updater(array(), array(), false);
+        $updater = new Updater(array(), array(), $this->conf, false);
         $done = $updater->updateMethodConfigToJson();
         $this->assertTrue($done);
 
         // The ConfigIO has been updated to ConfigJson.
-        $this->assertTrue($conf->getConfigIO() instanceof ConfigJson);
-        $this->assertTrue(file_exists($conf->getConfigFile()));
+        $this->assertTrue($this->conf->getConfigIO() instanceof ConfigJson);
+        $this->assertTrue(file_exists($this->conf->getConfigFileExt()));
 
         // Check JSON config data.
-        $conf->reload();
-        $this->assertEquals('root', $conf->get('credentials.login'));
-        $this->assertEquals('lala', $conf->get('extras.redirector'));
-        $this->assertEquals('data/datastore.php', $conf->get('path.datastore'));
-        $this->assertEquals('1', $conf->get('plugins.WALLABAG_VERSION'));
+        $this->conf->reload();
+        $this->assertEquals('root', $this->conf->get('credentials.login'));
+        $this->assertEquals('lala', $this->conf->get('extras.redirector'));
+        $this->assertEquals('data/datastore.php', $this->conf->get('path.datastore'));
+        $this->assertEquals('1', $this->conf->get('plugins.WALLABAG_VERSION'));
 
         rename($configFile . '.save.php', $configFile . '.php');
-        unlink($conf->getConfigFile());
+        unlink($this->conf->getConfigFileExt());
     }
 
     /**
@@ -257,11 +256,11 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
      */
     public function testConfigToJsonNothingToDo()
     {
-        $filetime = filemtime($this->conf->getConfigFile());
-        $updater = new Updater(array(), array(), false);
+        $filetime = filemtime($this->conf->getConfigFileExt());
+        $updater = new Updater(array(), array(), $this->conf, false);
         $done = $updater->updateMethodConfigToJson();
         $this->assertTrue($done);
-        $expected = filemtime($this->conf->getConfigFile());
+        $expected = filemtime($this->conf->getConfigFileExt());
         $this->assertEquals($expected, $filetime);
     }
 }