2017-08-26 68 views
1

我正在编写一个单元测试,并希望检查某个typoscript文件中的数据是否满足我的要求。如何将文本文件转换为数组? Typo3框架可用。如何解析Typoscript文件?

我的谷歌研究指出,使用类\TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser,但我并没有发现使用的例子...

(使用TYPO3的7.6)

回答

0

这是工作(但可能有更好的方法来做到这一点):

<?php 
use TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser; 

class TyposcriptTest extends \TYPO3\CMS\Core\Tests\UnitTestCase { 
    public function setUp() { 
     parent::setUp(); 
     $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); 
    } 

    protected function loadTSFile($filename) { 
     $content = file_get_contents($filename); 
     $parser = $this->objectManager->get(TypoScriptParser::class); 
     $parser->parse($content); 

     return $parser->setup; 
    } 

    public function testTS() { 
     $array = $this->loadTSFile('...'); 
     $this->assertTrue(isset($array['tx_extension.']['flexForm.']['andsoon.']]), 'Assertion failed. TS content: ' . var_export($array, true)); 
    } 
}