/**
* @covers FOF30\Layout\LayoutHelper::render
*
* @dataProvider FOF30\Tests\Layout\LayoutHelperTestProvider::getTestRender
*
* @param string $layoutId The layout to load
* @param array $platformSetup Platform setup (baseDirs, template, templateSuffixes)
* @param string $expectedOutput The expected output which should be returned
* @param string $message Failure message
*/
public function testRenderDefaultBase($layoutId, $platformSetup, $expectedOutput, $message)
{
// Set up the platform
$defaultPlatformSetup = array('baseDirs' => null, 'template' => null, 'templateSuffixes' => null);
if (!is_array($platformSetup)) {
$platformSetup = array();
}
$platformSetup = array_merge($defaultPlatformSetup, $platformSetup);
$reflector = new \ReflectionClass('FOF30\\Tests\\Helpers\\TestJoomlaPlatform');
foreach ($platformSetup as $k => $v) {
$reflector->setStaticPropertyValue($k, $v);
}
unset($reflector);
// Set up a fake base
$fakeBase = realpath(__DIR__ . '/../_data/layout/base');
// Create the layout file object
LayoutHelper::$defaultBasePath = $fakeBase;
$actual = LayoutHelper::render(self::$container, $layoutId);
$this->assertEquals($expectedOutput, $actual, $message);
}