/** * @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); }