예제 #1
0
 /**
  * @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);
 }
예제 #2
0
파일: Tools.php 프로젝트: sergeytsivin/haru
 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;
 }
예제 #3
0
파일: Slice.php 프로젝트: sergeytsivin/haru
 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;
 }
예제 #4
0
 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);
 }