/** * @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']]]); }