1
我正在编写一个单元测试,并希望检查某个typoscript文件中的数据是否满足我的要求。如何将文本文件转换为数组? Typo3框架可用。如何解析Typoscript文件?
我的谷歌研究指出,使用类\TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
,但我并没有发现使用的例子...
(使用TYPO3的7.6)
我正在编写一个单元测试,并希望检查某个typoscript文件中的数据是否满足我的要求。如何将文本文件转换为数组? Typo3框架可用。如何解析Typoscript文件?
我的谷歌研究指出,使用类\TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
,但我并没有发现使用的例子...
(使用TYPO3的7.6)
这是工作(但可能有更好的方法来做到这一点):
<?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));
}
}