/** * @dataProvider providerTestArray2xml */ public function testArray2xml($data, $actual, $exceptionName = '') { if ($exceptionName) { $this->setExpectedException($exceptionName); } $expected = Converter::array2xml($data); $this->assertEquals($expected, $actual); //reverse test $tmp = Converter::xml2array($expected); $expected = Converter::array2xml($tmp); $this->assertEquals($expected, $actual); }
public static function loadConfig($configFilename, $type = 'xml') { switch ($type) { case 'php': $data = (include $configFilename); break; case 'xml': $contents = file_get_contents($configFilename); $data = Converter::xml2array($contents); break; default: $message = 'Ivalid type'; throw new BuildException($message); } return $data; }
protected function _saveToPhp($filename, $xmlString) { $data = Converter::xml2array($xmlString); $content = sprintf('<?php return %s;', var_export($data, true)); $result = file_put_contents($filename, $content); return $result; }
private function _doWork() { $srcFileList = $this->_srcFileListArr; $cnt = count($srcFileList); $msg = sprintf("Start xmlmerge files: \n\t - %s", implode("\n\t - ", $srcFileList)); $this->log($msg); $result = ''; $mergeData = array(); for ($i = 0; $i < $cnt; $i++) { if (empty($srcFileList[$i])) { continue; } $srcFile = $this->_geFullPath($srcFileList[$i]); $contents = file_get_contents($srcFile); try { $data = Converter::xml2array($contents); $mergeData = Tools::arrayMergeRecursive($mergeData, $data); } catch (BuildException $e) { $message = $e->getMessage() . ' File: ' . $srcFile; throw new BuildException($message); } } $dstFile = $this->_geFullPath($this->_dstFile); $this->_save($mergeData, $dstFile); $msg = sprintf("Complete xmlmerge\nSaved (%s) into file: (%s)", count($result), $dstFile); $this->log($msg); }