Example #1
0
 /**
  * @param string $path
  */
 protected function _squeezeFile($path)
 {
     try {
         $configuration = $this->_readFile($path);
         $output = $this->helper->squeeze($configuration);
         file_put_contents($path, $output);
         $this->_output->writeln('<info>Config Squeezed!</info>');
     } catch (\UnexpectedValueException $e) {
         $this->_output->writeln('<error>File doesn\'t contains valid config!</error>');
     } catch (\Exception $e) {
         $this->_output->writeln('<error>' . $e->getMessage() . '</error>');
     }
 }
 public function test_squeezed_file_should_have_same_contents()
 {
     if (!defined('DS')) {
         define('DS', '/');
     }
     $dir = dirname(__FILE__) . DS . 'UtilsSqueezeRealLifeTest';
     $originalFile = $dir . DS . '10-config.php';
     $squeezedFile = $dir . DS . '10-config.squeezed.php';
     $original = (require $originalFile);
     $utils = new Utils();
     file_put_contents($squeezedFile, $utils->squeeze($original));
     $unsqueezed = (require $squeezedFile);
     unlink($squeezedFile);
     $cmp_function = function ($a, $b) {
         if ($a[0] == $b[0]) {
             // sort by key if scope/blabla is equal
             return strcmp($a['parameters']['key'], $b['parameters']['key']);
         }
         return strcmp($a[0], $b[0]);
         // sort by scope/blabla
     };
     usort($original, $cmp_function);
     usort($unsqueezed, $cmp_function);
     $this->assertEquals($original, $unsqueezed, "Original and unsqueezed configs differ");
 }
 /**
  * @expectedException UnexpectedValueException
  * @expectedExceptionMessage squeeze can only operate on config entries
  */
 public function test_should_throw_when_not_config_entries_present()
 {
     //        $this->markTestSkipped("I'll be back...");
     $this->utils->squeeze([['store/createconfig', 'parameters' => ['key' => 'storeConfpath_1', 'value' => 'storeConfVal_1', 'store' => 'storeSelector']], ['taxclas/create', 'parameters' => ['key' => 'storeConfpath_2', 'value' => 'storeConfVal_2', 'store' => 'storeSelector']]]);
 }